Quand Java est-il un bon choix pour le développement Web?
Veuillez ne pas dire "Quand vous avez une équipe de développement qui ne connait que Java."
Quand Java est-il un bon choix pour le développement Web?
Veuillez ne pas dire "Quand vous avez une équipe de développement qui ne connait que Java."
Réponses:
Étant donné les nombreux cadres disponibles, la maturité de la plate-forme, etc., je suis tenté de dire "presque toujours". Voici donc quelques raisons pour lesquelles vous ne devriez pas utiliser Java:
Java est utilisé dans les sites Web de petite et moyenne taille. Le point crucial est qu’il existe beaucoup moins d’hébergement gratuit pour les sites Web Java que pour PHP, ce qui signifie que si vous ne disposez pas de suffisamment de ressources pour héberger votre propre serveur Web, vous ne choisirez probablement pas Java.
Notez qu'avec Java EE 6, en particulier le profil Web, de nombreuses technologies standard incluses permettent de créer des applications Web très puissantes sans devoir beaucoup coder. Ce n'est malheureusement pas encore assez courant.
Notez que cela a quelque peu changé récemment avec Google Application Engine, qui vous permet de déployer gratuitement des applications Web Java standard (avec quelques restrictions) dans le cloud pour les sites à trafic faible à moyen.
Lorsque votre plate-forme est UNIX / Linux et que vous avez besoin d’un ensemble complet d’outils, tels que mappage objet / relationnel, sécurité, orchestration complexe de services Web, etc.
(Nous ne parlons pas de sites Web simples, n'est-ce pas?)
Chaque fois encore une autre équipe Java me fait chier, je m'essouffle en cherchant des questions comme celle-ci. Permettez-moi de répéter. Je suis un client et je le suis depuis près de 5 ans maintenant. J'ai travaillé sur des sites allant de microsites uniques au contenu principalement, à des sites aussi gigantesques que Sears, à des sites de type application plus sophistiqués nécessitant une expertise approfondie de l'interface utilisateur. Je me suis occupé de Rails, PHP, formulaires Web .net (ew), .net MVC (bien mieux) et d’un bouquet de solutions Java pour le développement Web accompagné de développeurs et d’équipes qui ont toutes vécu des catastrophes catastrophiques. J'écris aussi un peu de Python et je commence à creuser Django.
Mon expérience avec les équipes Java a été terriblement mauvaise. Les outils sont toujours un PITA. Les développeurs ne veulent jamais croire qu’ils ont fait quelque chose de mal et les amener à ré-enquêter sur leur propre terrain une fois que vous avez éliminé un problème de votre côté, c’est comme s’arracher les dents. D'après mon expérience, la première victime à avoir eu affaire à des équipes de Java est le temps de développement converti en temps de courrier électronique et la rédaction de nombreuses explications longues sur les raisons pour lesquelles le problème est définitivement résolu. HTML n’est généralement pas leur problème à moins que vous ne souhaitiez réellement le contrôler. Ensuite, tout finira par aller au diable, car vous voulez réellement déplacer des divs de niveau supérieur.
Il y a des choses sur le langage que je n'aime pas mais je pense que le vrai problème est la culture et le fait que l'acceptation soit si répandue, vous avez une tonne de médiocrité au milieu. La culture que je soupçonne découle de la manière dont Java est commercialisé. Ecrivez une fois, déployez-vous partout. Traduction: "Vous n'avez besoin d'apprendre qu'une seule chose!" Les personnes qui trouvent cela attrayant veulent essentiellement utiliser Java comme un marteau gigantesque pour chaque clou avec un minimum de perfectionnement de leur savoir-faire en matière de développement Web.
Donc, si vous avez des développeurs qui connaissent Java et d’autres langages, mais préfèrent tout de même Java, je dirais que oui, allez-y, si cela vous semble la bonne solution. Mais si vous avez des développeurs Java qui connaissent Java et que tout le reste satisfait à peine aux critères pour en faire un élément essentiel de leur CV, demandez-leur de créer une application simple avec une variété de pages semi-complexes sur l'extrémité HTML et essayez ceci. test simple. Casser du HTML. Essayez de leur faire comprendre ce qui ne va pas. Si le problème immédiat qu'ils commencent à résoudre est de détourner le blâme d'eux-mêmes, éloignez-les du développement Web! Le développement Web est multidisciplinaire et nécessite un intérêt actif dans le domaine pour réussir. Ce n'est pas un endroit pour ceux qui veulent seulement garder la connaissance d'une seule langue et qui sont plus horrifiés par les problèmes que ceux qui sont intéressés à les résoudre.
Je n'affirme pas que Java est en soi la source de l'incompétence et j'ai entendu dire que le printemps était bon. Je suis sûr qu'il existe des équipes Java compétentes. Je n'en ai pas encore rencontré un et je ne pense pas que ce soit une coïncidence. Je pense que Sun a beaucoup à voir avec cela. Je pense également que la gestion d’équipes Web appartenant à des départements informatiques ou sous celle-ci y est pour beaucoup.
Java convient parfaitement aux petits sites Web. Vous pouvez faire fonctionner les pages JSP très rapidement avec un serveur Web Java tel que Tomcat , par exemple.
D'après mon expérience, Java est plus courant pour les grands sites Web où le traitement complexe côté serveur est plus important. Dans ce cas, vous trouverez des infrastructures Java plus sophistiquées utilisées telles que JavaServer Faces (JSF).
Il est important de noter qu'une installation complète de Java n'était pas disponible dans de nombreuses configurations d'hébergement Web bon marché, ce qui peut expliquer la prédominance d'autres langages tels que PHP dans ces environnements.
Les principales raisons d'utiliser Java dans le développement Web se résument comme suit:
Techniquement parlant:
Si je commençais une application Web, j'utiliserais Ruby on Rails et concevoirais de manière à ce que les zones sensibles puissent être permutées lorsque RoR atteindrait sa limite de performance.
Java a une odeur définie de COBOL et les "développeurs bas de gamme utilisent Java", et les fiascos d’Oracle n’aident en rien la réputation. Si vous avez le choix , choisissez une langue qui attire les meilleurs développeurs.
C'est simple: utilisez Java lorsque les performances de votre ordinateur sont une préoccupation majeure. Il y a plus de temps lors du codage, mais le code s'exécute dans 1 / 200ème à 1 / 500ème du temps - littéralement. Php, Ruby et d’autres langages à typage dynamique seront toujours beaucoup plus lents que les serveurs java ou .net.
La plupart des solutions Web n’auront pas besoin de cela. Twitter n'a pas abandonné Rails jusqu'à ce qu'ils atteignent un sommet de popularité, par exemple.
Pas la seule raison, mais avec la popularité croissante de la construction de sites Web avec des frontaux sophistiqués ressemblant à des applications tout en conservant une logique qui «restitue» sur le serveur - aucune raison ne devrait être nécessaire pour expliquer pourquoi Java est au moins égal à un autre. option sur le serveur. Mais du côté du client, si du javascript va rapidement se transformer en cauchemar de maintenance du code et en utilisant GWT pour le garder à portée de main afin que vous puissiez coder en Java, vous pouvez obtenir le meilleur des deux mondes avec votre serveur. faire le gros du travail et le processeur d'un client en lui donnant l'expérience. Apprenez à l’intégrer à quelque chose comme jQuery et vous pouvez avoir tout le plaisir que vous voulez.
Pas un expert des alternatives, mais si quelqu'un d'autre peut en proposer une avec la même souplesse et la même ampleur, je suis ravi de l'entendre.
La principale raison pour laquelle je choisirais Java est si vous devez utiliser des transactions distribuées, ce qui peut être une préoccupation majeure pour de nombreuses entreprises. Cependant, vous pouvez toujours utiliser votre langage de script favori pour le développement Web et ne déléguer le travail en java que lorsque vous avez besoin de transactions rapides / distribuées.
Je pense que cela se produirait lorsque votre application sera très complexe et sera développée par de nombreuses personnes, avec de nombreux modules complexes, une logique métier complexe et la communication avec de nombreuses autres applications d'entreprise.
Quoi qu'il en soit, vous pouvez également développer Grails, qui offre de nombreuses fonctionnalités intéressantes, facilite beaucoup le développement et mûrit très rapidement.
Java est ok, mais si les performances ne sont pas d'une importance cruciale, vous pouvez obtenir les mêmes résultats avec moins d'effort dans d'autres langues.
Java est un langage à typage statique, qui est moins cher que les autres langages à typage statique utilisés pour le développement Web, à savoir C # et VB.net, si votre société ne possède pas d'abonnement MSDN. Les langages à saisie statique conviennent aux projets de moyenne à grande taille, aux règles de domaine complexes et à beaucoup de code back-end, car vous pouvez mieux organiser vos classes et les IDE vous aideront à trouver des erreurs dans votre code.
Avec des langages à typage dynamique, tels que PHP, Python, Ruby, votre développement sera beaucoup plus rapide, mais vous devrez tester votre code beaucoup mieux. Si vous avez peu de temps et d'argent et que vos exigences changent très rapidement et que vous n'avez pas à faire de calculs très complexes, les langages dynamiques sont bien meilleurs.
Sécurité
La raison principale invoquée par les grandes entreprises pour choisir Java par rapport à d’autres solutions est qu’elle est considérée comme beaucoup plus sûre.
Ceci est principalement dû au fait qu’il est soutenu par une si grande entreprise (maintenant Oracle).
Il convient de noter que Java offre un très haut niveau de sécurité et un excellent support et analyse (bien que cela ait un prix).