7
votes

Quand est le java le bon choix pour les applications Web

Je fais des recherches sur la prise de mon expérience de programmation et que je me déplace dans le marché de la programmation de Java, en raison d'une combinaison d'intérêts personnels et de forces du marché locales. Comme vous pouvez vous rassembler à partir du titre, la grande majorité de mon expérience a été dans la construction de sites et d'applications Web basés sur le Web et j'aimerais amener autant que possible de mes expériences précédentes.

Une chose que je n'ai pas été incapable de trouver une réponse concrète pour le moment où un site Web ou un concepteur d'applications basé sur le Web se penche sur une solution basée sur Java, sur d'autres options actuellement sur le marché. Quelles options Java fourniraient-elles que le concepteur sélectionnerait Java comme langue de codage de base pour baser un projet sur?

Merci pour toutes les réponses constructives pouvant arriver de cette enquête.

Edit: J'aurais dû inclus la mise en garde de si d'autres facteurs sont égaux, par exemple si le matériel, les logiciels, les compétences de développeurs dans Java sont à la hauteur où ils devraient être pour ces projets, etc.


0 commentaires

10 Réponses :


2
votes

Je pense que la sagesse conventionnelle à ce sujet est que Java est mieux adapté à de très grands systèmes qui ont besoin de la discipline de la typographie statique. En outre, sur des sites très occupés, Java peut utiliser moins de mémoire et fonctionner plus rapidement que la plupart des interprètes.

(hors de la boîte, Java veut beaucoup de mémoire. Mais sur un système occupé Java n'a qu'une seule copie de tout le code d'exécution.)

Il existe également certaines raisons prosaïques de s'en tenir à Java, pour des sites spécifiques. Ils pourraient avoir besoin d'une intégration de back-office ou d'un autre gros morceau de code existant.


3 commentaires

Une application mal écrite échouera dans une langue. En utilisant Perl et Memcached, nous servons plus de 9 millions de pages vues par mois, non pas parce que Perl est la Schwa, mais que l'architecture et l'infrastructure de notre site sont bien conçues.


@DigitalRoss, j'ai édité votre message pour supprimer des fautes de frappe, on dirait que votre édition les a restauré


Heh, merci. (Posting de mon téléphone Android, la dactylographie est un défi. :-)



13
votes

Le facteur principal est ce que vos développeurs sont accompagnés. Si vous avez un groupe de développeurs Java, allez avec Java.


2 commentaires

Tellement vrai. Java et .Net sont à égalité à cet égard, les deux peuvent faire le travail assez bien et cela vient de savoir qui vous êtes disponible, les coûts du matériel et des logiciels pâlir en comparaison le coût de l'équipe de développement.


Si vous vous souciez de quelle langue vos développeurs sont accompagnés, vous n'avez probablement pas ce grand des développeurs. Un grand développeur trouvera le bon outil pour le bon travail et utilisera cela.



2
votes

Assurez-vous d'inclure une courbe d'apprentissage dans le temps de développement si les développeurs ne connaissent pas la langue choisie.


1 commentaires

Y compris le temps pour fixer des cock-ups.



1
votes

J'utiliserais Java s'il y avait une bibliothèque ou un cadre qui fournissait des caractéristiques spécifiques qu'aucune autre langue n'a fait (ou pas aussi).

Par exemple, si j'avais une bibliothèque Java construite interne pour exécuter notre concasseur GRunTmaster Rock, il serait naturellement logique d'utiliser Java pour créer une application nécessaire pour contrôler le GRUNTMASTER.

Certains pourraient dire que, quelle que soit la langue officielle de la boutique, la langue devrait être utilisée - je ne suis pas d'accord avec cette règle, comme dans mon expérience, un bon développeur peut apprendre n'importe quelle langue.

Il n'y a pas de règle difficile et rapide autrement; Chaque langue a ses propres forces et faiblesses. Le fait que vous posiez cette question à propos de Java me dit que vous n'êtes pas aussi familier avec cela.

Je vous suggère d'aller de l'avant et de construire une application ou trois en Java - alors vous saurez. :)


0 commentaires

2
votes

Pour la plupart, la meilleure technologie est celle que vous utilisez déjà.

Si vous avez des codeurs qui connaissent Java, demandez aux administrateurs système pouvant configurer des applications Java et savoir quoi faire lorsqu'une application Java cesse de travailler et que des gestionnaires de projet qui savent comment planifier et planifier un déploiement Java, vous auriez besoin d'une Très, une raison très convaincante de choisir quelque chose d'autre comme .NET pour un nouveau projet, même si .NET est "meilleur" (ce que cela signifie).

Il y a bien sûr des exceptions; Si vous utilisez quelque chose d'obsolète et / ou n'allez pas être pris en charge à l'avenir (comme ASP classique), vous n'avez pas de systèmes hérités, il est temps d'utiliser quelque chose de nouveau.


0 commentaires

1
votes

Il y a très peu de séparation entre les capacités des différentes technologies disponibles aujourd'hui pour la programmation Web.

Java à la fois était le choix par défaut puisqu'il a dépassé de loin les capacités des technologies concurrentes, mais ce n'est plus vrai.

La réponse Microsoft a augmenté rapidement; Les jours de l'ASP classique sont loin avec .NET fournissant désormais toutes les capacités et la facilité de programmation que Java a offert.

Les nouvelles langues telles que PHP et Ruby sont arrivées ou deviennent beaucoup plus grandes, et sont également des choix valides en fonction de vos besoins de programmation.

Alors que beaucoup d'autres disent que cela se résume à quelle langue vous êtes familier ou à vos développeurs.


1 commentaires

Un inconvénient principal de la pile Microsoft est toujours qu'il est relié exclusivement aux systèmes d'exploitation Microsoft. On pourrait ou pourrait ne pas aimer Windows, mais la capacité de fonctionner sur différents systèmes d'exploitation est presque toujours un avantage.



3
votes

convenu avec de nombreuses affiches précédentes, mais une considération possible est la vitesse d'exécution.

Si vous utilisez un serveur de pile de lampe très basique, exécutez PHP4 ou plus bas, Python ou Perl, si vous ne définissez pas la pré-compilation, tous vos scripts devront être re-compilés au moment de l'exécution. Cela peut provoquer une immense stress sur le serveur pour des applications de haute intensité. Si vous êtes dans la situation où vous ne pouvez pas activer la compilation de la lampe, mais que vous pouvez pour Java (la plupart des serveurs Java en exigent ceci), cela devrait être préoccupé. L'inconvénient est que vous devrez peut-être ré-compiler de gros morceaux de votre application Web à chaque fois que vous le modifiez. Je me rends compte que cela devient de moins en moins un problème de nos jours, mais c'est quelque chose à vérifier.


0 commentaires

4
votes

Considérez également: Java a tendance à exécuter sur des serveurs d'applications dans lesquels il existe un programme mondial persistant et séparer les threads / processus générés vers des demandes individuelles. Cependant, si la principale VM Global Croaks Pour une raison quelconque, toute votre application peut descendre. L'avantage est bien sûr que vous obtenez des ressources de l'application / système que vous pouvez initialiser et utiliser en continu toutes les demandes

D'autres environnements tels que PHP se déchirent fondamentalement et reconstruire l'ensemble de l'environnement pour chaque demande. Vous pouvez coder dans la persistance des données de niveau d'application à l'aide d'une base de données, mais vous ne l'obtenez pas gratuitement. D'autre part, si un processus PHP se croasse lors du traitement des données de l'application, il ne tuera pas tout le système, car l'ensemble de l'environnement est déchiré / reconstruit pour la prochaine demande.


0 commentaires

1
votes

Un autre aspect à considérer est la possibilité d'utiliser un vaste système écologique de bibliothèques open source.

Des langues comme PHP, Perl ou Ruby ont de tels lieux de marché (presque) intégrés. .NET est plutôt fermé dans ce sens. Java d'autre part a un très grand système éco-système d'entreprise de bibliothèques à choisir et de communautés à apprendre de l'autre.


0 commentaires

1
votes

Pratiquement, je suis d'accord avec les gars de tirer parti de l'infrastructure humaine existante.

Technologiquement, Java est assez bon pour des choses Web non standard - comme une utilisation intensive d'Ajax (GWT, DWR, Comet Spring à l'esprit), mobile (où vous avez généralement besoin de nombreuses données de session et moins de bling de session), Des choses vraiment simples qui vont être placées sous une immense charge (il réussira définitivement Apache Mod_xxx à chaque fois, la seule chose plus rapide dans une utilisation à grande échelle est le code natif).


0 commentaires