102 votes

Que faut-il apprendre pour créer des applications Web Java dans Java EE 6 ?

Mon objectif est de créer des applications web !

J'ai fini de lire les livres "Headfirst - Java" et "Headfirst - Servlets and JSP".

Parce que ce sujet (les applications web) est si vaste et compliqué, je voudrais demander ce que je devrais apprendre ensuite. J'ai l'impression d'être surmené lorsque je lis des mots-clés comme Java EE, EJB, JSF, JPA, Glassfish ... mais je n'abandonnerai pas.

Quelqu'un peut-il me dire comment je dois procéder pour apprendre ? Devrais-je prendre un livre comme celui-ci : Initiation à la plate-forme Java EE 6 avec GlassFish 3 : du novice au professionnel ou dois-je simplement créer des tutoriels en ligne ?

Merci !

1 votes

J'ai lu les deux fils de discussion. Mais encore une fois : Dans les fils de discussion, ils disent seulement "apprenez Tomcat, JBoss, Hibernate, apprenez ceci ou cela, etc...". Ils ne font que lancer des mots. Mais je veux savoir quel livre ou tutoriel spécifique je dois apprendre. Peut-être qu'il n'y a pas de méthode et que je dois l'apprendre "inefficacement" en cherchant chaque mot. J'espérais simplement obtenir un conseil sur la façon de procéder.

1 votes

Je vous recommande de commencer par Head First Servlets et JSP, à condition que vous ayez une bonne connaissance du noyau Java. Si vous n'êtes pas à l'aise avec Java en tant que langage de programmation, vous devez d'abord acquérir des connaissances pratiques sur ce langage avant de passer au développement d'applications Web.

175voto

Pascal Thivent Points 295221

Même si je sais que cela sera controversé, mon conseil serait de commencer par Java EE 6 uniquement. Donc, prenez GlassFish v3 et procurez-vous le livre Initiation à la plate-forme Java EE 6 avec GlassFish 3 : du novice au professionnel ou suivre le Tutoriel Java EE 6 . À mon avis, le livre (que j'ai commencé à lire pour savoir de quoi je parle) fournit davantage de conseils, ce qui peut être préférable si "tout" est nouveau pour vous (il couvre à la fois la plate-forme Java EE et ses API). et l'environnement pour construire, déployer vos applications).

Maintenant, comme je l'ai dit, je peux déjà entendre des voix dire des choses comme "Java EE est lourd, utilisez Spring à la place, apprenez Struts ou Wicket ou Stripes pour la couche de présentation, apprenez Hibernate pour la persistance, ou pas parce que je n'aime pas les ORM, utilisez iBatis ou directement JDBC à la place (vous verrez, c'est cool avec Spring, Spring est tellement cooool), et utilisez Tomcat (et pourquoi pas Jetty), ou JBoss, ou oubliez tout ça et optez pour Grails, et bla bla bla..." .

Mais je ne pense pas que cela vous aide vraiment et, sans tutorat ou conseils (et vous ne trouverez pas de ressource unique non périmée couvrant toutes les combinaisons), cela doit sembler très déroutant pour un débutant.

Donc, parce que je pense que Java EE 6 est une grande amélioration par rapport aux versions précédentes de Java EE, parce qu'il fournit vraiment joli les API standard pour tous vos besoins (Servlet 3.0, JSF 2.0, JPA 2.0, EJB 3.1 lite, Bean Validation 1.0, CDI, etc.), parce que ces API sont toutes plus que décentes, parce qu'il n'y a pas vraiment de mal à les apprendre, parce que c'est déjà une grosse tâche, parce que vous devez commencer quelque part Pour ma part, je me concentrerais uniquement sur Java EE 6 et j'oublierais les autres frameworks pour le moment. Plus précisément, je commencerais par le Profil Web de Java EE 6 (et ensuite ajouter des choses si vous voulez aller plus loin).

En faisant cela, 1) vous vous lancerez et vous apprendrez de toutes nouvelles choses et 2) vous donnerez un peu de temps à tous les autres cadres et/ou outils pour s'adapter et prouver qu'ils sont encore nécessaires. Et si c'est le cas, il sera toujours temps d'expérimenter les survivants et vous serez en mesure de comprendre beaucoup mieux pourquoi ils existent.

3 votes

Merci. En ce qui concerne le livre, je ne l'ai pas lu entièrement mais je le recommande sans hésiter aux développeurs novices et expérimentés qui veulent avoir une bonne vue d'ensemble de Java EE 6. Le livre est bien construit, il couvre vraiment de nombreuses API (il n'en manque pas beaucoup), il y a des exemples de code démontrant tout ce qui est présenté, ils sont vraiment didactiques et permettent d'aller aussi loin que vous le souhaitez. Il y aura peut-être des livres plus ciblés à l'avenir, mais celui-ci est un bon livre.

24 votes

+1, mais le printemps est tellement cool :-)

13 votes

Ne vous méprenez pas, Stripes, Spring, Hibernate,... sont formidables. Mais un choix trop vaste peut être déroutant lorsqu'on découvre quelque chose de nouveau et je crois que Java EE 6 vous permet de commencer sans eux.

27voto

Stephen C Points 255558

Mon conseil 1 est d'arrêter de lire des livres et de commencer à mettre en œuvre des trucs. D'après mon expérience, l'apprentissage dans les livres est un piètre substitut aux connaissances que l'on acquiert en faisant réellement les choses.


1 - Contexte : ce conseil s'adresse à quelqu'un qui vient de terminer la lecture de deux livres sur le sujet et qui cherche d'autres livres à lire. Dans la pratique, vous devez trouver un équilibre entre la lecture et l'action. Surtout si vous avez un problème spécifique que vous essayez de résoudre.

29 votes

Mais cela pourrait vous épargner des jours de recherche. Il pourrait aussi vous donner suffisamment de connaissances pour répondre à des questions au lieu de les poser et finalement avoir une bonne réputation ici, n'est-ce pas ?

6 votes

Non, je ne suis pas d'accord. Le PO a déjà lu deux livres sur Java / Java EE. Il est temps pour lui de faire de la programmation. Pour information, je n'ai pas acquis la plupart de mes connaissances en lisant des livres. Je l'ai plutôt acquise PRINCIPALEMENT en mettant en œuvre des choses, et en me référant à la documentation quand j'en avais besoin. On n'apprend pas à faire du vélo en lisant des livres... et on n'apprend pas non plus à programmer de cette façon.

4 votes

Il est important d'équilibrer reading et practice .

8voto

Will Hartung Points 57465

Java EE 6 est vraiment étonnant. Le seul problème est qu'il a environ deux semaines, et qu'il n'y a qu'un seul conteneur qui offre actuellement ses fonctionnalités : Glassfish.

Je n'ai rien contre Glassfish, je l'utilise partout, dans plusieurs instances de production, j'aime le produit et le projet.

Cela dit, les détails de Java EE 6 ne sont pas transposables à Java EE 5. Certains le font, beaucoup le font, mais le profil Web, Servlet 3.0, les nouveaux types de beans, JPA 2, etc. Ils ne sont pas là.

Ainsi, en apprenant d'abord Java EE 6, vous vous limitez simplement à un seul conteneur. D'autres sont à venir, mais ils ne sont pas encore là.

Tomcat, JBoss, OpenEJB, Glassfish, Jetty, Resin, Geronimo, etc. fonctionnent tous bien avec la spécification Java EE 5 (du moins les parties de la spécification qu'ils supportent, Tomcat n'a pas EJB par exemple).

Je ne vois rien dans Java EE 5 qui n'ait été reporté sur Java EE 6. Java EE 6 a rendu certains aspects très anciens facultatifs, et ceux que vous n'apprendriez tout simplement pas aujourd'hui de toute façon. Java EE 6 a rendu certains aspects de Java EE 5 encore plus faciles (notamment le packaging, EJB Lite par exemple).

Apprenez Java EE 5 maintenant pour pouvoir appliquer ce que vous avez appris dans divers environnements, plutôt que d'apprendre Java EE 6 maintenant et de découvrir que vous ne pourrez pas utiliser une grande partie de ce que vous avez appris.

Aucun livre ne vous apprendra tout ce que vous devez savoir. Les servlets, par exemple, sont une bonne base, mais pour tout ce qui est plus grand que quelques pages ou un point de terminaison, vous voudrez utiliser l'un des nombreux frameworks tiers, ou JSF, et aucun livre ne couvre le noyau, puis un framework par-dessus.

Le tutoriel Java EE 5 permet d'acquérir les bases, mais mon principal reproche est qu'il ne montre pas le code source. Ils s'attendent plutôt à ce que vous le téléchargiez et l'exécutiez. Il n'en est pas question dans le tutoriel. J'ai trouvé que les livres Head First étaient plutôt bons.

Pour la programmation Web, les servlets brutes sont suffisamment importantes pour comprendre le cycle demande/réponse, mais vous n'avez pas besoin d'une compréhension approfondie pour faire le saut vers un framework tiers.

Je suis un grand fan de Stripes pour un cadre d'action (par opposition à un cadre de composants), et le seul livre Stripes disponible est excellent (ce qui rend le choix facile).

Je ne peux pas vous suggérer un livre sur le cadre des composants, et je ne vous en recommanderais même pas un tout de suite. Les frameworks de composants enterrent véritablement les structures de requête/réponse du noyau HTTP. Ils les enterrent pour une raison, et ils gagnent de la valeur en les enterrant, mais je crois que pour être efficace, vous devez avoir une solide compréhension de ces concepts dès le départ. C'est pourquoi je ne suggère pas d'apprendre d'abord un framework de composants.

Le cadre REST JAX-RS, inclus dans Java EE 6, mais facilement installable dans Java EE 5 ou tout conteneur de servlets, est excellent. On peut dire que c'est ce que Servlet 3.0 aurait dû être. Mais je ne connais pas de livres à ce sujet.

2 votes

La question est de savoir quel est l'état des serveurs d'application lorsque vous êtes prêt pour la production. Si un projet donné se déroule dans 6 mois, Oracle et JBoss ont très probablement des serveurs conformes à JEE6, et Resin a très probablement sorti un serveur JEE6 Web Profile.

0 votes

Eh bien, JBoss est attendu en décembre. Oracle fait profil bas. Resin est resté silencieux concernant l'implémentation de son profil Web. Geronimo adopte le profil Web avec la version 3.0 (bêta). Glassfish est sorti en 3.0.1, ce qui est vraiment bien.

4voto

danben Points 35312

Pour Tomcat, lisez le manuel sur le site web. Il est très bon. En particulier, les premiers chapitres sur l'organisation et le déploiement des applications Web, ainsi que les chapitres sur l'API Servlets et les JSP.

Pour Spring, le livre de Manning Spring in Action est très bon. De même pour Hibernate (le livre de Manning) mais je pense qu'Hibernate est surtout en dehors de la portée des webapps. Mais c'est à vous de voir.

Wicket - Livre de Manning également. Mais en réalité, il suffit d'écrire votre code frontal en Javascript. Ce sera moins pénible, IMO.

3voto

motiver Points 547

Je ne ferai pas de commentaires sur les autres technologies, mais si vous voulez apprendre Hibernate, procurez-vous "Hibernate Made Easy" de Cameron McKenzie (www.hiberbook.com). Il vaut chaque centime. Vous pouvez finir de lire ce livre en 2 jours (littéralement). C'est comme un roman et à la fin vous vous retrouvez à gérer Hibernate comme un semi-pro.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X