web-dev-qa-db-fra.com

Quand est Java un bon choix pour le développement web?

Quand est Java un bon choix pour le développement web?

Veuillez ne pas dire "Quand vous avez une équipe de développement qui ne connaît que Java."

35
Gulshan

Compte tenu des nombreux frameworks disponibles, de la maturité de la plateforme etc., je suis tenté de dire "presque toujours". Voici donc quelques raisons pour lesquelles vous ne devez pas utiliser Java:

  • en tant que pure boutique MS, vous préférez probablement le faire à la manière .net
  • si vous avez besoin du hébergeur le moins cher possible, vous n'avez probablement que PHP comme choix
  • si vous voulez le faire le plus rapidement possible, Ruby on Rails, Grails or Django sont probablement mieux adaptés à vos besoins)
  • si votre équipe de développement ne connaît que XYZ, où XYZ! = Java, il vaut mieux utiliser XYZ
35
user281377

Java est utilisé dans les sites Web de petite et moyenne taille. Le point crucial est qu'il y a beaucoup moins d'hébergement Web gratuit pour les sites Web Java que pour PHP, par exemple, ce qui signifie que si vous n'avez pas 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, il y a beaucoup de technologies standard incluses qui peuvent créer des applications Web très puissantes sans avoir à coder beaucoup. 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 standard Java (avec quelques restrictions) dans le cloud pour les sites à faible trafic.

19
user1249

Lorsque votre plate-forme est UNIX/Linux et que vous avez besoin d'un ensemble complet d'outils, tels que le mappage objet/relationnel, la sécurité, l'orchestration complexe des services Web, etc.
(Nous ne parlons pas de sites Web simples, n'est-ce pas?)

12
Sorantis

Chaque fois qu'une autre équipe de Java me fait chier, je souffle Steam en recherchant des questions comme celle-ci. Permettez-moi de réitérer. Je suis un développeur côté client et je l'ai depuis près de 5 ans maintenant. J'ai travaillé sur des sites allant de microsites uniques à contenu principalement, à des sites aussi massifs que Sears, à des sites de type application plus sophistiqués où une expertise approfondie de l'interface utilisateur est nécessaire. J'ai traité Rails, PHP, les formulaires Web .net (ew), .net MVC (beaucoup mieux) et un bouquet de solutions Java pour le développement Web accompagné de développeurs et d'équipes qui ont toutes été des désastres complets. à traiter. J'écris aussi un peu de Python et je commence à Dig Django.

Mon expérience avec les équipes de Java a été universellement horrible. 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éexaminer leur propre terrain une fois que vous avez exclu un problème de votre côté, c'est comme se arracher les dents. D'après mon expérience, la première victime de traiter avec les équipes de Java est le temps de développement converti en temps de courrier électronique pour écrire plusieurs explications détaillées sur la raison pour laquelle le problème est définitivement de leur côté. Le HTML n'est généralement pas leur problème à moins que vous ne vouliez réellement le contrôler. Ensuite, tout va probablement aller en enfer de leur côté parce que vous voulez réellement déplacer des divs de niveau supérieur.

Il y a des choses au sujet de la langue que je n'aime pas, mais je pense que le vrai problème est la culture et le fait que l'acceptation est si répandue que vous avez une tonne de médiocrité au milieu. La culture que je soupçonne découle de la façon dont Java est commercialisé. Écrivez une fois, déployez partout. Traduction: "Vous avez seulement besoin d'apprendre une chose!" Les gens qui trouvent cela attrayant veulent essentiellement manier Java comme un gigantesque marteau pour chaque clou avec un minimum de perfectionnement de leur métier en ce qui concerne le développement Web.

Donc, si vous avez des développeurs qui connaissent Java et d'autres langages mais qui préfèrent toujours Java, je dirais, oui, allez-y si cela semble être la bonne solution. Mais si vous avez Java devs qui connaissent Java et que tout le reste répond à peine aux critères pour en faire une puce sur leur CV, demandez-leur de créer une application simple avec une variété de pages semi-complexes à la fin HTML et essayez ce test simple. Brisez du HTML. Essayez de leur faire comprendre ce qui ne va pas. Si le problème immédiat qu'ils commencent à résoudre détourne le blâme d'eux-mêmes, éloignez-les du! @ # $ 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 les gens qui veulent seulement avoir à maintenir la connaissance d'une langue et sont plus horrifiés par les problèmes que intéressés à les résoudre.

Je n'affirme pas que Java lui-même est la racine de l'incompétence et j'ai entendu dire que Spring est bon. Je suis sûr qu'il existe des équipes Java compétentes. Je n'en ai pas encore rencontré et je ne pense pas que ce soit une coïncidence. Je pense que Sun y est pour beaucoup. Je pense aussi que diriger des équipes Web comme ou sous des services informatiques a beaucoup à voir avec cela.

9
Erik Reppen

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.

Bien que d'après mon expérience, Java soit plus courant pour les grands sites Web où il y a un plus grand besoin de traitement complexe côté serveur - dans ce cas, vous trouverez des cadres Java plus sophistiqués utilisés tels que JavaServer Faces (JSF).

Il est important de noter qu'une installation complète de Java n'était historiquement pas disponible dans de nombreuses configurations d'hébergement Web bon marché, ce qui peut expliquer la prévalence d'autres langues telles que PHP dans ces environnements.

5
mikera

Les principales raisons d'utiliser Java dans le développement Web se résument à ce qui suit:

  • Le client l'exige. Pour le meilleur ou pour le pire, certains clients ont des "listes de technologies acceptées", et si vous proposez quelque chose qui ne figure pas sur cette liste, vous feriez mieux d'avoir une très bonne explication pourquoi - et pourquoi quelque chose sur la liste ne peut pas être utilisé.
  • Développer sous Windows, déployer sous Unix. La plupart des machines de développement sont Windows, certaines sont Mac et très peu sont Linux - comme vous vous en doutez avec les machines clientes habituelles. Cependant, sur le serveur, vous êtes tout aussi susceptible de voir une certaine forme d'Unix que vous êtes un serveur Windows. Java est probablement le plus proche à écrire une fois déployé n'importe où (ce n'est pas parfait, mais meilleur que certaines alternatives).
  • Choix de gestion. Avouons-le, choisir Java sur une autre langue aura plus à voir avec la possibilité de trouver des programmeurs et de remplacer les membres de l'équipe qui quittent le projet que d'être basé uniquement sur les mérites de la langue.
2
Berin Loritsch

Techniquement parlant:

  • Si vous pouvez définir une architecture compatible avec l'optimiseur de points chauds.
  • Si vous prévoyez la nécessité de l'énorme OO overhead Java impose.

Si je commençais une application web, j'utiliserais Ruby on Rails et la conception de telle manière que les hotspots pourraient être échangés lorsque RoR atteindra ses performances) limite de mise à l'échelle.

Java a une odeur définie de COBOL et "les codeurs bas de gamme utilisent Java" qui traînent dessus, et les fiascos Oracle n'aident pas la réputation. Si vous avez le choix, choisissez une langue qui attire les meilleurs développeurs.

2
Paul Nathan

C'est simple: utilisez Java lorsque les performances du back-end sont une préoccupation majeure. Il y a plus de surcharge lors du codage mais le code s'exécutera au 1/200ème au 1/500ème du temps littéralement. Php, Ruby et d'autres langages typés dynamiquement seront toujours beaucoup plus lents que les serveurs Java ou .net.

La plupart des solutions pour le Web n'en auront pas besoin. Twitter n'a pas abandonné Rails jusqu'à ce qu'ils commencent à gagner en popularité par exemple.

0
Rian Fowler