Como iniciar em Java para WEB sem medo!

Introdução
Minha intenção com este post é tentar de alguma forma ajudar aqueles profissionais que estão iniciando em Java Web, profissionais que com tantas opções que a plataforma Java nos oferece, as vezes não sabem por onde iniciar, então quero tentar dar um norte inicial para começar bem.

Não vamos aqui discutir sobre qual IDE, ferramenta, infra em geral, pois já temos vários artigos na web que tratam deste assunto. Quero focar na parte conceitual da coisa.

Quero com este post responder algumas perguntas como:

1. Sou iniciante em Java para Web, o que devo aprender primeiro?
2. Devo começar pela especificação JEEx e seguir somente ela?
3. Qual framework devo começar?
4. Por que não devo começar com JSF/Seam e afins?

Não quero aqui entrar no mérito de quem é melhor, framework X ou Y, linguagem X ou Y. Como já falei em uma lista: Amadureci para não perder meu tempo discutindo sobre isso.

Vou escrever aqui a minha opinião, a minha visão, baseado nos anos de experiência que tenho com desenvolvimento Web e Java, baseado nas conversas que tenho com outros profissionais com a mesma e maior experiência do que eu, nas experiências de inúmeros projetos que já participei durante toda a minha carreira.

Então vamos iniciar as argumentações, lembrando que isso é voltado para aqueles que estão ainda iniciando no desenvolvimento Web na plataforma Java ou para aqueles que não tem uma base sólida em Web.

Iniciando no mundo Java Web

1. Sou iniciante em Java para Web, o que devo aprender primeiro?

Bem, se você está entrando agora no mundo Web, você precisa primeiro aprender WEB, aprender como funciona uma página WEB e aprender a linguagem da WEB, seus protocolos e comportamentos. Isso parece ser óbvio, mas muitos se perdem neste momento e simplesmente não ligam para isso, achando que já devem aprender frameworks X ou Z.

Vamos citar aqui os principais conceitos que um bom desenvolvedor web TEM que saber ou pelo menos conhecer:

Entenda como funciona e para que serve todos os verbos HTTP (HTTP verbs) que existem. Tenha um entendimento pelo menos de POST, GET, DELETE e PUT.

Você como desenvolvedor web é OBRIGADO a saber HTML, pelo menos as suas tags mais comuns, como utilizá-las e para que servem cada uma e como funcionam. Não saber isso é como querer tirar a carteira de motorista sem saber o que é um carro. Acesse: w3schoolsHTML

Entenda, como e o que é CSS, você não precisa ser um expert em CSS, mas saber o básico ajuda e muito, e você um dia irá precisar, acredite. A não ser que você não esteja desenvolvendo para WEB. Uma boa dica, é começar pelo site da w3schoolsCSS e o site do maujor.

Estude também o que é e como funciona um Web Container e sua estrutura básica de funcionamento.

APRENDA Servlet, JSP, por mais que você ache “antigo” eles são muito importantes para você complementar seu conhecimento em desenvolvimento web na plataforma java e acredite seu framework UTILIZA eles por baixo. Então é FUNDAMENTAL saber o que é e como funciona um Servlet e JSP.

“Brinque” um pouco com TAGsLib, EL (Expression Language), são ferramentas simples de se utilizar (principalmente EL), e deixam seu código bem mais legível. Você verá mais a frente.

JavaScript, ele é importante. Se você deseja ser um bom profissional web, você PRECISA saber javaScript. Por muitos anos o JavaScript foi considerado uma linguagem fraca, que só servia para enviar alerts para os usuários ou somente para validação de formulários. Grande engano.
O JS já provou por A + B que é uma poderosa linguagem em diversos segmentos de server-side desde Frameworks MVC (Express/Node.js | Helma/Rhino) a bancos de dados não relacionais (CouchDB, MongoDB), além do tradicional client-side com Frameworks populares (jQuery/ExtJS).

E o mito de que JS é ruim de manter, código desorganizado etc, é simplesmente somente um MITO, e é simplesmente falta de conhecimento de quem não sabe desenvolver com JS. JS hoje, está muito maduro e robusto, existem vários frameworks para facilitar a sua vida, é testável e é um código limpo, quando se usa da maneira certa. E isso claro, serve para qualquer linguagem.

Mas, assim como qualquer outra linguagem, não aconselho você já começar usando jQuery (ou qualquer outro), aliás, até pode sim, mas antes dê uma lida na documentação para entender o que é o DOM e BOM, apenas leia, você não precisa ser um expert, o que não seria ruim, pois iria te ajudar muito, mas apenas o conhecimento básico já é suficiente. Conhecer e saber usar uma ferramenta (framework) é uma coisa, ENTENDER o que ele faz é outra.

Depois disso, parta para um framework como o jQuery, MooTools, ExtJS etc.

[UPDATE-13/07/2011]

Alguns me perguntaram sobre quais livros ou fontes de estudos indico para iniciar com JavaScript, então resolvi atualizar aqui, essas dicas e para não replicá-las, vou pegar as mesmas que um amigo já fez :).

Dicas do site do Christiano Milfont:

Existem alguns bons materias gratuitos que recomendo, como: Como criar um Framework javascript, Eloquent Javascript, JavaScript Garden, jQuery Fundamentals (que apesar de ser sobre jQuery, cobre muito sobre javascript em si), Essential Javascript & jQuery Design Patterns for Beginners e o Guia e a documentação de Referência da Mozilla.

Os melhores livros de Javascript:

Existem vários bons livros, inclusive já os indiquei em posts passados, veja indicações: recente e antiga.

2. Devo começar pela especificação JEEx e seguir somente ela ?

Bem, o certo seria sim, você deve começar pela especificação, mas infelizmente não é tão simples assim.

Se alguém falar isso para você, corra, corra dele e procure um profissional o quanto antes para te descontaminar, esse papinho de que é Deus no céu e especificação na terra é pura besteira. Quer exemplos ? Vamos lá.

Se você depender e seguir como um religioso fanático somente a especificação, você como profissional, estará no mínimo 5 anos ATRASADO.

Sim, para se ter uma ideia, o Ajax foi implementado no JSF, somente em 2010, ou seja, você que é bitolado, só foi poder utilizar-se de Ajax ano passado, enquanto eu e outros profissionais já o utilizavam desde 2004. Vergonha ? Também sentiria.

E não caia na conversa de que é o que o mercado pede, a não ser que você queira ser SÓ MAIS UM no mercado, depois não reclame do seu salário. Destaque-se, se sobressaia, não seguindo essa conversa fiada você já terá boas chances de ser um profissional bem qualificado e consequentemente, bem remunerado no mercado.

Mais um exemplo simples, é seguindo somente a especificação, você não vai usar o Hibernate ou Spring, pois eles não estão na especificação, a especificação “recomenda” usar o JDBC, CMP, JPA e outros Patterns. Para quem sabe o que é o Hibernate e Spring saberá o quanto será péssimo desenvolver um sistema web java sem eles, principalmente sem o Spring.

Na minha visão a especificação é somente para te dar uma ideia de como as coisas funcionam, e não como devem ser feitas, ela não é a lei, ela nem sempre é a melhor solução para o seu problema. Por isso não seja bitolado por ela.

3. Qual framework devo começar ?

Supondo que você já tem conhecimento em HTML, CSS, JavaScript, Servlets, JSP, TagLibs ou EL, Container WEB, qual framework você poderia iniciar?

Bem, qualquer frameworks Action-like. Por que?
Quanto menos abstração no lado web o framework possuir (componentes para tudo), mais você vai exercitar e aprender tudo aquilo que você estudou, sem falar na liberdade no desenvolvimento.

Atentem, que não estou aqui entrando no mérito de quem é mais produtivo, rápido, simples ou qualquer outra coisa do tipo. Meu foco é puramente e simplesmente que você aprenda desenvolvimento Web e só isso.

Framework como eu disse é apenas uma ferramenta para se desenvolver, como um martelo para um marceneiro, ou uma chave de fenda para o mecânico.

Seguindo esses passos, você pode evitar o erro (que infelizmente é comum) de querer usar a ferramenta para tudo.

Imagine que o marceneiro ame seu martelo e só queira utilizar ele, então para pregar pregos ele utiliza ele, para parafusar ele também utilize ele, para colar a maneira, ele também utilize o martelo, já imaginou ?

Pois bem, a analogia funciona da mesma forma para frameworks.

Quando você entende web, entende a necessidade do cliente, entende o problema, fica fácil escolher a ferramenta e mesmo assim você pode correr o risco de errar, imagine agora na situação de saber utilizar somente um martelo e pior, achar que ele pode fazer o trabalho de uma chave de fenda. Pense nisso.

Agora, suponha que você é realmente um iniciante, não tem noção de HTML e tudo aquilo que falei, qual framework você deve iniciar ?
NENHUM. Estude aqueles tópicos primeiro.

Aprenda a engatinhar antes de querer correr, para não cair e quebrar as pernas.

4. Porque NÃO devo começar com JSF/Seam?

Porque EU, Handerson Frota, NÃO concordo que um iniciante, que ainda NÃO tem nenhuma noção SÓLIDA de WEB já inicie com JSF?

Porque ? Vamos tentar colocar por tópicos:

a . Abstração do Servlet

Esse não é um problema, não é um defeito, pelo contrário, é até bom, deixa o teu controller desacoplado do objeto HTTPServlet. O VRaptor faz isso e claro o JSF faz isso. Mas ao contrário do VRaptor, que possui um design que facilita os testes, é muito ruim escrever testes de unidade para os managed beans.

Não estou dizendo que não é possível escrever testes de unidade, mas sim que não é tão simples assim quando o código foge do trivial. E ai pergunto, onde está a produtividade? Ah tá, vocês não usam testes?

Agora pergunto para quem nunca viu ou sabe o que é um Servlet, como você vai entender o que é um, saber como funciona se você não vê e ainda acha que não esta usando?

Você não sabe como funciona, o que é, e diz que desenvolve para Web? Acho que não.

Acreditem, existem MUITOS profissionais que começaram assim, que NÃO SABEM QUE JSF, VRAPTOR OU STRUTS, TEM SERVLETS 🙂 não é legal? Você contrataria ele? Eu não.

b. Malditos componentes

Você está iniciando, não sabe o que é Servlet, mas também não vai aprender HTML, CSS, JS, ou qualquer LINGUAGEM DA WEB, pois você vai ter que aprender COMPONENTES. Componente para input (que muitas vezes o cara não sabe o que é, e acha que isso é do JSF), componentes para tudo.

Você já viu o código gerado do seu componente? Veja e se assuste.

Com o VRaptor ou Struts por exemplo, você usa o simples e eficaz HTML e EL. Simples assim. Resolve o problema e ainda deixa teu código mais limpo.

Veja um exemplo:
Formulario JSF com 2 campos.

[sourcecode language=”java”]
<h:form id="UserEntryForm">
<h:outputText value="Enter Your Name:"/>
<h:inputText value="#{UserBean.userName}" />
<h:outputText value="Enter Your age:"/>
<h:inputText value="#{UserBean.age}" />
<h:commandButton action="welcome" value="OK" />
</h:form>
[/sourcecode]

Agora com o simples HTML e EL

[sourcecode language=”java”]
<form id="form" action="" method="GET/POST" >
Nome: <input type="text" id="nome" value="${objeto.nome}" />
Idade: <input type="text" id="idade" value="${objeto.idade}" />
<input type="submit" value="OK" />
</form>
[/sourcecode]

Agora também compare o código gerado de cada um, e tire suas conclusões.

c. Conflitos de libs

Algo que eu via com muita recorrência em projetos com JSF, eram os famosos conflitos entre conjunto de componentes. Se você queria utilizar uma funcionalidade Ajax por exemplo, teria que utilizar o Richfaces/Ajax4jsf por exemplo, mas ele não se integra bem com o MyFaces Trinidad, por exemplo. Então você fica preso e obrigado a utilizar um componente do início ao fim de um projeto (praticamente).

Isso é prejudicial ao meu ver, pois aprendemos que durante o desenvolvimento de um software, ao contrário de construir um prédio, podemos mudar, podemos alterá-lo.

Você aprende mais sobre o negócio, você aprende mais sobre o próprio software, só que você não vai mais poder mudar, pois está preso naquele conjunto de componentes que você escolheu no inicio do projeto. A não ser que você queira alterar todas as páginas geradas e seus comportamentos. Isso inclui seus controles (ManegedBean e JSP), pois o JSF nos faz o favor de -colar- o JSP com o controller.

Você, ao invés de se preocupar em aprender como funciona a web, tem que se preocupar qual plugin/lib/componente utilizar e que não vá dar conflito com outro. Ok, alguns podem dizer que esses conflitos podem acontecer também com outros “componentes”, APIs/Plugins JavaScript etc. Mas posso afirmar com certeza, que é bem mais simples resolver esses conflitos.

d. Ciclo de Vida

Você ainda não sabe o que é um Servlet, como ele funciona e terá que primeiro entender o ciclo de vida do JSF? Que é completamente diferente do ciclo de vida de um Servlet, que o managed bean utiliza por baixo?
Preciso nem comentar sobre isso.

e. View é fortemente acoplada ao controller (managed bean)

Bem, na minha humilde opinião, não acho isso legal. O teu JSP, fica totalmente dependente do controller e claro dependente de libs do JSF. Diferentemente de uma página JSP com EL, cujo o Struts, VRaptor e outros usam.

Recentemente fizemos uma migração de um sistema em JSF para VRaptor, foi simplesmente APAGAR TUDO e refazer do zero, pois não tinha como reaproveitar nem as telas, pois eram todas feitas com componentes do JSF.

Não deu para aproveitar nada do layout, pois o CSS foi alterado por causado dos benditos componentes do RichFaces, nem as funcionalidades em JavaScript, pois quem fazia isso eram os componentes do JSF.

Ao contrário por exemplo, se fosse um Struts ou um sistema feito com outro tipo de controller que usa-se JSP e EL, e fossemos migrar para VRaptor, poderíamos aproveitar muita coisa, até 100% das telas e uma boa parte do controller.

Conclusão

Eu então, NÃO RECOMENDO que qualquer futuro aspirante a desenvolvedor web, INICIE seus estudos web em cima de um JSF e/ou SOMENTE com JEEx.

A pouco tempo, fizemos algumas entrevistas com alguns profissionais web, e foi um pouco decepcionante. Muitos estavam a anos estagnados em projetos JSF ou JEE “puro”. Ou seja, só sabiam JSF e JEE e não desenvolvimento WEB, não sabiam HTML, não sabiam CSS, não sabiam o que era um Servlet, e quando sabiam não sabiam dizer para que servia e como funcionava, não sabiam o que era um PUT ou um DELETE no verbo HTTP e muitas vezes nem o que era um verbo HTTP, não tinham ideia do que era Restfulie, não sabiam JS, logo não sabiam jQuery ou qualquer outro framework JS.

Sou pago para desenvolver soluções para vários tipos de problemas, e não posso ter somente um martelo como ferramenta.

Bem, finalizo aqui, com esses argumentos que vivenciei em vários projetos e por essa longa experiência que tive e tenho em desenvolvimento web, eu aconselho antes de tentar aprender qualquer framework, entenda o básico dele, ou seja, se é desenvolvimento web na plataforma Java:

NÃO COMECE com JSF!

194 Comments on “Como iniciar em Java para WEB sem medo!

  1. Parabéns pelo artigo Handerson Frota. Sou desenvolvedor em outras linguagens e estou querendo entrar no mundo java web e você (um estranho rsrs) foi o único que deixou claro para mim por onde começar.

    Buscando em vários sites todos discutem apenas frameworks e outras coisas, você foi mais claro em nos mostrar qual é o ponta pé inicial que devemos dar.

    Obrigado mesmo.

  2. Olá William tudo bem?

    Obrigado pelo feedback, fico feliz que ele tenha lhe ajudado.

    Qualquer dúvida só entrar em contato e mais uma vez obrigado pelo feedback, isso nos estimula muito a continuar escrevendo 😉

    Abraços

  3. Boa tarde Handerson Frota, seu artigo me ajudou e exemplo dos companheiros acima estou iniciando meus estudos e tinha a mesma dúvida e sempre tinha gente que me dizia que sabendo java oo eu já podia aprender JSF etc. Gostaria de saber com vc se essa seria uma boa sequência de cursos(pretendo fazer presenciais e em video aulas) baseado no que vc falou: 1-XHTML; 2-CSS; 3- XML com Java; 4- JavaScript; 5-Ajax; 6- JSP/Servlet; 7- JSTL + Hibernate; 8- JSF2 + Hibernate; 9- JSF2 + JPA + PrimeFaces. Agradeço pela a ajuda e atenção

  4. Olá Marcelo, obrigado pelo feedback é muito importante.

    Bem, não existe uma receita infalível, é como expliquei no artigo. O ponto principal é entender como funciona, e não somente saber utilizar.

    Se você quer ir por exemplo para desenvolvimento web com Java, então além de conhecer e saber como a plataforma Java funciona é o pre-requisito principal. Então entender como o Java Web funciona, seus conceitos, a sua evolução O PORQUE das coisas, sabendo disso você já pode ir se aprofundando, como conhecer JavaScript, um pouco de CSS etc. Tento esse conhecimento, ou pelo menos uma base dele, utilizar alguma ferramenta (frameworks) não será problema.

    Então uma “ordem” seria algo do tipo: Java e Orientação a Objetos, java para web (html, css, javascript etc) e só depois qualquer framework.

    Acredito tanto nessa ordem que nossos cursos seguem esse conceito, onde o mais importante não é o aluno aprender a usar a ferramenta e sim, ENTENDER como ela funciona, para que ele serve, qual foi o objetivo dela etc. E para responder essas perguntas, você precisa entender como elas funcionam por “baixo”.

    Veja a nossa grade: cursos.triadworks.com.br

    Bem, espero ter respondido a sua pergunta, caso não, fala ai que vou tentar responder melhor 😉

    Abraços e obrigado pela visita.

  5. Muito bom este post, eu realmente achava que java web era coisa de outro mundo, me deu mais coragem de iniciar um curso.
    Valeu

  6. Olá Camila, que bom que você gostou.

    Qualquer dúvida estou a disposição.

    E se quiser dar uma olhada no curso de Java para Web: cursos.triadworks.com.br/java-para-web/.

    Abraços e bons estudos.

  7. Vlw Handerson, acabei de fazer um curso de Java para web , e apesar do cursor ser bom acabei ficando meio ( que muito ) perdido !!!
    Mas lendo seu post consegui esclarecer muita coisa, a principal delas é que eu estava querendo pular etapas….

    Vlw….

  8. Olá Atila, que bom que pude ajudar.

    Qualquer dúvida pode entrar em contato.

    Temos cursos de Java para Web, exatamente com esse foco que falo no artigo.
    cursos.triadworks.com.br

    Abraços

  9. Olá Victor, muito obrigado.

    Qualquer dúvida estamos ai, só falar 😉

    Acesse também o blog da triadworks, temos vários artigos lá também: blog.triadworks.com.br.

    Abraços e obrigado pela visita!

  10. Primeiramente, muito obrigado por ter escrito esse post. Sou estudante de Sistemas de Informação e estou no último semestre. Só havia programado para desktop e trabalhado durante um ano. Consegui um bom projeto no término da faculdade e decidi desenvolver com java web. Como entendo que é muito importante começar da forma correta, procurei por publicações do tipo desta. Pesquisando, decidi estudar o livro Use a Cabeça Servlet JSP e depois partir para algum framework. Não tenho muito tempo, mas acho importante aprender e arriscar assim. Muito obrigado!

  11. Muito bom trabalho com PHP/HTML/CSS/JS/JQUERY para Desenvolvimento Web, e estou querendo ingressar no Mundo web em JAVA, estava perdido por onde começar, então vou começar pelos Servlets e entender como funcionam, algum material que possa referenciar, livros, cursos….

    Não vou mentir, eu nem o conheço, mais já estou adimirado com esse VRaptor.

    VLW!

  12. Olá Johnatan tudo bem? Muito obrigado cara fico feliz :).

    Livros posso te indicar a casadocodigo.com.br e cursos tem a TriadWorks, da uma olhada. O foco do curso é exatamente esse ai 🙂

    Realmente o VRaptor é muito bom, porém assim como todos os outros você precisa ter essa base que falei.

    Da uma olhada nessa palestra, falo exatamente sobre isso: https://www.youtube.com/watch?v=wlHQ8R1RAmI

    Site dos cursos: cursos.triadworks.com.br

    Abraços e mais uma vez obrigado pela visita e comentário 🙂

  13. Olá Handerson Frota, excelente post, a mensagem foi clara e sem dó! É disso que nós profissionais precisamos, seja em qualquer área da tecnologia, encarar a realidade de que precisamos estudar sempre e que nunca saberemos o suficiente. Sempre tem alguém que sabe ou saberá mais. Parabéns pelo post e principalmente por compartilhar da sua experiência. Excelente palestra também no youtube: “Como iniciar no mercado sem medo! Javou! #03”. Muito Obrigado!

  14. Muito bom! Você disse de forma clara e objetiva. Esclareceu muitas dúvida. Não sei se já existe um post mais atual ou se á essa necessidade,caso haja poderia fazer outro post falando de hoje.

  15. Olá Wagner tudo bem? Primeiro agradecer a sua visita e seu comentário :).

    Cara até pensei em atualizar o post, porém infelizmente se você observar ainda está valendo e vemos os mesmos erros….Mas vou tentar melhorar o post sim quem sabe sai uma atualização 😉 …. tem a palestra que foi gerada a partir deste post aqui: https://www.youtube.com/watch?v=wlHQ8R1RAmI

    Abraços

  16. Ola Handerson boa tarde, Estou Iniciando em java mas ja tenho um conhecimento em OO, generics, swing.

    È recomendavel estuda JDBC, threads, classe IO, pra depois estuda java web ? O que voce me aconselha..

    No presente momento estou estudando HTML e CSS, e dei uma pesquisadaem java web sobre request e response, como funciona o jsp, servelate e etc..

    Estou certo ou errado essa ordem ?

  17. Fala Rodrigo tudo bem?

    Cara não existe uma regra específica, a “ordem” é meio que natural. Mais ou menos como passei no post.

    Quando você vai para Java para Web, normalmente você vai querer fazer algum cadastro algo do tipo para começar, ou seja, banco de dados, então JDBC básico é importante. Ah mas se eu usar um JPA ou Hibernate? Ok, mas precisa entender o JDBC do mesmo jeito…

    Você está indo pelo caminho certo mesmo, entender a tecnologia web antes é melhor…

    Tanto que nos nossos cursos passamos por todo esse processo…

    Da uma olhada nesta palestra aqui que falo exatamente sobre isso, ela foi inspirada neste post.

    https://www.youtube.com/watch?v=wlHQ8R1RAmI

    Qualquer dúvida só falar 😉

  18. Bom Dia Handerson!

    Meu Nome é Lauro, moro no estado de GOIÀS(CALDAS NOVAS) e sou desenvolvedor DELPHI.
    estou iniciando no mundo JAVA e acompanho há algum tempo, os “Movimentos” da triadworks! sempre estou olhando o blog, o site enfim…
    Estou me Organizando pra Fazer o CURSO de JSF/Prime Faces/Spring 🙂 Queria dizer que revirei a net olhando os cursos existentes no mercado, e apaixonei
    nos cursos da TRIADWORKS! Parabéns Pelo Trabalho! eu Fiquei seu Fã!

    esse Post foi de extrema importância pra mim(muito importante mesmo!) uma vez que como iniciante, estava perdido com relação aos estudos JAVA/WEB.
    Com Base, nesse artigo seu,minha mente se abriu e estou estudando os alicerces do mundo web! Eu já estava estudando JSF(já tinha até visto muita coisa)
    porém parei tudo, e voltei a estaca zero! estou começando do “HTTP”!!! Também assisti a sua palestra no JAVOu falando a mesma coisa!

    Bom, a minha pergunta pra você é a seguinte:

    no seu artigo, existe a seguinte pergunta:
    Qual FrameWork Devemos Começar? e a sua Resposta é: qualquer frameworks Action-like! ai você justifica dizendo que quanto menos abstração melhor!
    Com Base nisso, Handerson, gostaria de te perguntar,ou que você sugerisse, por qual Frameworks Começar rs! na sua opinião! com a sua experiência,
    Qual seria um FrameWork bom pra se começar?

  19. Maravilha, a luz que estava no fim, agora clareia todo o túnel!
    Parabéns pelo rico POST!
    Recomendo fazer vídeo para Youtube!

  20. Ola anderson , tenho conhecimento no desenvolvimento java, sou estudante de sistema de informação estou no 5° semestre. Porem ainda nao domino a tecnologia para fazer um projeto só, tenho conhecimento na sintaxe java, orientação a objetos, e estudo lendo o livro deitel 8° edição. Porem me despertei para desenvovimento web, tenho um conhecimento basico em html e css e como funciona a web..

    Porem tou meio perdido no que estuda e o que nao estuda quando começa em javawe, tipo estou pensando em para de ler este livro do deitel , pois sao muitas paginas e levaria um tempo para aprender e foca em java web , seria uma boa opção larga esse livro ? o que voce me recomenda cara ?
    Tambem tem uns exercicio neste livro que sao muito dificeis, as vezes nao consigo resolver é normal nao conseguir resolver os exercicios ? ou sera que eu que estou errando em algo ? Estou em duvida nos conteudo para estuda , estou estudando jsp e servelet dando uma olhada , mas estou com duvida se largo o livro deitel ou nao ?

    Poderia me da umas dica ? eu foco somente em web e deixo o livro de lado o que vc recomenda ?

  21. Olá Juliano tudo bem?
    Bem se você tem sólidos conhecimentos em Orientação a Objetos, entende conceitos como contrato, o porque e pra que e para que do uso do encapsulamento e que orientação a objetos não tem nada a ver com código isso já é um bom começo.

    O livro do deitel é bom porém cansativo e longo de mais isso é verdade.

    “Tambem tem uns exercicio neste livro que sao muito dificeis, as vezes nao consigo resolver é normal nao conseguir resolver os exercicios ?”

    Bem, rsrsrs então porque não deve ter entendido algo ou perdeu alguma explicação, pois normalmente os exercícios aplicam o conceito antes mostrado. Talvez seja isso, mas errando você não está, continue estudando.

    “Estou em duvida nos conteudo para estuda , estou estudando jsp e servelet dando uma olhada , mas estou com duvida se largo o livro deitel ou nao ?
    Poderia me da umas dica ? eu foco somente em web e deixo o livro de lado o que vc recomenda ?”

    Para se estudar um novo conteúdo e se esse conteúdo precisa de uma base, de um pre-requesito, eu aconselho você primeiro formar essa base, assim não irá ter problemas nos conteúdos futuros. Toda a API de Web do Java usa pesadamente os conceitos de Orientação a Objetos então se ainda não está se sentindo seguro com isso, fortaleça a sua base, não adianta pular etapas infelizmente, isso irá com certeza te prejudicar mais a frente.

    Se for de fortaleza venha nos visitar, ai batemos um papo bacana 🙂 (cursos.triadworks.com.br tem o endereço aqui)

    Sobre material da uma olhada nas apostilas da CAELUM (https://www.caelum.com.br/apostila-java-orientacao-objetos/)

    Abraços e espero ter te ajudado.

  22. Muito bom o POST Handerson, obrigado por compartilhar conhecimento.

    Percebi que a publicação foi em 2011, tendo já 7 anos passados.

    Acredito que hajam mudanças, talvez poucas, mas existentes.

    Seria possível você atualizar o post?

    Caso não, de qualquer forma sou grato pelo já existente. Sou iniciante e já me deu uma visual do caminho que devo seguir.

    Abraço.

    Bruno

  23. Hey just wanted to give you a brief heads up and let
    you know a few of the pictures aren’t loading correctly.
    I’m not sure why but I think its a linking issue.
    I’ve tried it in two different internet browsers and both
    show the same results.

  24. Hi there! I understand this is sort of off-topic but I needed
    to ask. Does managing a well-established website such as yours take a large amount
    of work? I am brand new to operating a blog however I do write in my journal on a daily basis.

    I’d like to start a blog so I can easily share my
    experience and feelings online. Please let me know if you have
    any recommendations or tips for brand new aspiring bloggers.

    Thankyou!

  25. Hey, I thik ypur sie might be having brolwser compaztibility issues.
    When I loik at yojr blog sige in Firefox, itt looks fione bbut
    when opening in Internet Explorer, itt hhas soke overlapping.
    I just wanfed too give you a quic hrads up! Other then that, fantastic blog!

  26. It’s ann aweslme piece oof wrikting iin suppolrt of all thee
    web users; they wull take bdnefit from itt I am sure.

  27. Having read this I believed it was really informative. I
    appreciate you taking the time and effort to put this content together.
    I once again find myself personally spending a lot of time both reading and posting comments.
    But so what, it was still worth it!

  28. Does your site have a contact page? I’m having trrouble locatjng iit but,I’d like to soot you ann e-mail.
    I’ve got some suggesstions ffor your bllog you might be interested in hearing.
    Either way, great website annd I llook folrward tto seeing it expand over time.

  29. Having read this I believed it was rather informative.
    I appreciate you finding the time and energy to put this informative article together.
    I once again find myself personally spending way too much time both reading and commenting.
    But so what, it was still worth it!

  30. Hmmm is anyoone else experiencing problems with thhe pictures onn thiks
    blog loading? I’m trying tto figure oout if its a probledm on my endd or if
    it’s the blog. Anny responses would be gretly appreciated.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.