2009-02-18 11 views
1

Quels sont les avantages de l'utilisation de Java pour créer des applications Web sur des langages de script tels que PHP?Java ou script

Répondre

1

Pour commencer, l'un sera pré-compilé et l'autre non.

Voir 4 Reasons Java Will Outlive PHP pour plus d'informations.

+0

Bénéfices pour Java car les performances seront plus grandes ...? –

0

Vous devriez jeter un oeil sur les cadres qui sont l'état de l'art pour obtenir un sentiment pour les différences:

+0

L'un est un conteneur et l'autre un serveur d'applications. Les frameworks et les deux ne sont donc pas utilisés avec Java, alors comment puis-je comparer les différences de langage? –

0

Vous pouvez obtenir de nombreux autant d'opinions que vous le souhaitez, mais la vérité est que le choix n'a pas d'importance à la fin. Java peut être plus évolutif sur papier, mais Facebook est fait avec PHP ...

4

Il existe de nombreux frameworks et bibliothèques open source de haute qualité pour Java. J'ai trouvé que même si la plupart des langages de script ont des frameworks/bibliothèques similaires, leur qualité n'est pas toujours aussi élevée que celle de java. Par expérience personnelle, j'ai essayé de réécrire notre webapp Java en ruby. Nous utilisons un client Http pour extraire les flux xml d'un serveur. L'implémentation du client Http de Ruby ne supportait pas le passage de plusieurs paramètres de requête du même nom. J'ai signalé le bogue, soumis un correctif, et il a finalement été corrigé dans ruby ​​(yay open source!) Mais j'ai rencontré des problèmes similaires en travaillant avec Jabber et d'autres bibliothèques.

Je pense que l'implémentation JDBC de Java est également bonne. Il est très facile de se connecter à un grand nombre de bases de données différentes. (Je suppose que vous pourriez toujours faire odbc avec les langages de script).

Je pense aussi que le compilateur aide à trouver des erreurs au moment de la construction plutôt qu'à l'exécution. J'appellerais cela un avantage, mais il a aussi un inconvénient (cycle de rétroaction)

Vous pouvez écrire des applications Web impressionnantes dans les langages de script et en Java. Vous pouvez écrire des webapps horribles dans les langages de script et Java.

Cela dépend vraiment de ce dont vous avez besoin pour le projet spécifique sur lequel vous travaillez.

1

Il n'y a aucun avantage à utiliser Java sur PHP. Cela dépend de la taille et de la complexité du projet, parmi beaucoup d'autres facteurs. PHP est un artiste très rapide, mais Java a été mis au point au fil des ans et est maintenant un bon concurrent en matière de performance. Si vous avez un modèle de données complexe stocké dans une base de données, plusieurs paquets comme iBatis et Hibernate peuvent vous faire gagner du temps et de l'argent pendant le développement. Si votre application Web fournit une interface de services Web, il y a beaucoup de travail dans l'industrie pour soutenir l'interopérabilité dans les frameworks Java comme Metro. Java a le soutien d'un très grand nombre de développeurs. Pour une très grande base de code, je trouve un langage orienté objet beaucoup plus facile à maintenir et à développer. Il existe des options de conception orientées aspect unique pour Java comme AspectJ qui ne seront pas disponibles en PHP. Java semble avoir un temps de démarrage plus long sur certains projets parce qu'il y a un processus de conception plus complexe.

Ensuite, cela dépend aussi beaucoup des développeurs qui écrivent le code. On peut dire que Java peut être un langage plus complexe que PHP et nécessiterait un ensemble de développeurs plus compétents, prêts à consacrer du temps à la conception d'un bon code-base.

Beaucoup de ces arguments sont des opinions personnelles, mais il existe également des mesures objectives telles que la gestion de la complexité et le temps de développement. C'est une question compliquée et ouverte pour être sûr.

3

Je voudrais simplement ajouter qu'il est assez facile d'obtenir quelque chose de bon des deux mondes, en utilisant Grails:

  • Facilité de programmation d'un langage dynamique (Groovy)
  • Interoperatibiltiy avec un énorme éventail de bibliothèques Java existantes
  • Possibilité de revenir à « normal » Java si nécessaire/désiré
  • Une pile complète Spring en arrière-plan
  • Beaucoup d'autres avantages ...
Questions connexes