Question

J'ai beaucoup travaillé sur le développement Web java à l'aide de jsps et de servlets. Cette approche est simple et flexible. Certains travaux préparatoires, tels que la gestion des connexions à une base de données, sont toutefois fastidieux et il faut beaucoup de travail simplement pour lancer une nouvelle application Web.

J'envisage donc d'utiliser un framework pour la première fois, mais j'ai l'impression qu'ils sont principalement utilisés pour les applications J2EE volumineuses et qu'ils impliquent une configuration complexe. Ce que je recherche, c’est quelque chose de simple qui (après la courbe d’apprentissage initiale) me permettra d’être opérationnel avec une nouvelle application Web aussi rapidement que possible.

Ma question est donc la suivante: est-il judicieux d’utiliser un cadre pour une application Web Java simple?

Notez que je ne demande pas quel framework utiliser (si un framework est recommandé), car il vous a déjà été demandé ici .

Était-ce utile?

La solution

Cela fait beaucoup de sens. Mon équipe a passé près de cinq ans avec notre pile open source et peu importe, et nous avons une "graine". projet (fonctionne comme appfuse) que nous utilisons pour créer toutes les nouvelles applications Web. Même les deux pagers simples du maintien de l’application ressemblent à toutes les autres applications, mais elles sont plus petites.

Bref, vous n’obtiendrez aucun retour sur investissement pour le moment, mais vous le ferez au fur et à mesure de l'évolution du projet et de son maintien.

Autres conseils

Si vous n'utilisez pas un framework Web, vous finirez généralement par en écrire un - médiocre.

Oui, j'utiliserais un framework Web pour les raisons suivantes:

  1. Augmentation des capacités et des contrôles de navigation. Même si vous n'en avez peut-être pas besoin, ils sont à votre disposition si vous en avez besoin à tout moment.
  2. Comme d'autres l'ont indiqué, les applications se développent avec le temps et vous ressentirez le besoin du cadre à un moment donné dans le futur. Lorsque vous devez ajouter des pages et une navigation supplémentaires
  3. Fonctionnalités vous permettant de vous connecter à d'autres infrastructures telles que les infrastructures de sécurité et d'accès à la base de données. Le printemps est un excellent exemple dans le monde Java. Vous n’êtes jamais obligé d’utiliser Spring, mais il se connecte si bien avec Struts, Spring MVC, Hibernate, Acegi, etc. Il vous évite de vous faire encombrer votre plomberie.
  4. Support !!! Les bonnes structures ont presque toujours une communauté dynamique pour les soutenir et poser des questions.

Cela peut sembler trop compliqué au départ, mais vous permet de gagner beaucoup de temps dans le futur

Je dirais que cela compte en fait assez pour quel cadre vous optez. Quelque chose comme Spring MVC est assez discret dans votre code et vous permet d’exécuter beaucoup de choses existantes. D'autres cadres ont des idées beaucoup plus spécifiques sur la façon dont vous devriez faire les choses.

Oui, cela a du sens. Les applications peuvent évoluer et changer et peuvent nécessiter quelque chose qu'un framework peut fournir facilement à l'avenir.

Par exemple, sur mon lieu de travail, nous avons une application simple jsp / servlet. Il doit être réécrit juste à cause de ce que j'ai expliqué ci-dessus. Si quelqu'un avait pris le temps de simplement configurer le cadre, nous serions mieux aujourd'hui.

Oui, c'est logique. Cependant, votre question implique implicitement que le mauvais cadre (pour vous) peut être plus pénible qu'il ne vaut la peine - et c'est vrai. Il existe un monde de différences entre un cadre J2EE lourd et quelque chose de léger et de joyeux comme un grail.

Quelle est l'alternative? Rouler les vôtres? Intégrer toute la navigation et la logique dans les JSP?

Je suis d'accord avec ceux qui disent qu'un framework web en vaut la peine. Il y en a littéralement des centaines maintenant (par exemple, Struts, JSF, Spring, Wicket, etc.). Choisissez celui qui vous convient.

Il existe deux types d’applications:

1) comme ceux que vous jetez et que vous n'utilisez plus, et ne devez donc pas vous soucier de la modularité, de la facilité de maintenance et de la clarté.

2) le genre réel.

Il peut parfois sembler que votre application peut ne jamais devoir évoluer, évoluer ou desservir un ensemble d'utilisateurs / fonctionnalités plus important que celui que vous envisagez actuellement ... Je vous assure que cette perception est toujours erronée.

Les frameworks, notamment Struts pour MVC en Java, Spring pour MVC et Dependency Injection, Hibernate pour la modélisation objet-relationnel, sont tous des outils extrêmement précieux pour la modularité, la maintenabilité et la clarté de votre code. Donc, pour répondre à votre question initiale ... Oui, catégoriquement.

Non, sauf si:

  1. vous n'avez aucune expérience Java dans votre équipe
  2. vous faites juste un prototype qui doit être prêt dans les heures
  3. vous ne faites pas confiance à vos développeurs assez pour les laisser écrire votre application
  4. vous ne prévoyez pas laisser votre les développeurs apprennent et améliorent

Les dangers liés à l'utilisation des frameworks incluent, sans toutefois s'y limiter:

  1. vous aurez tous les défauts du framework sur haut sur votre propre
  2. vous ne pourrez pas faire d’estimations réalistes avant de     connaître parfaitement le cadre
  3. votre équipe n'apprendra pas comment programmer un     serveur web
  4. votre équipe passera plus     et plus de temps sur Google à la place que     résoudre des problèmes en écrivant du code.

La seule chose qui soit pire que de choisir un framework open source, c'est d'avoir une équipe de R & D distincte dans l'entreprise qui devrait créer le "grand et ultime framework d'entreprise complet".

  

mais j’ai l’impression que les frameworks sont principalement utilisés pour les applications J2EE volumineuses et nécessitent une configuration complexe

Pas nécessairement vrai. Les bons frameworks sont conçus pour évoluer correctement, de sorte qu’ils vous permettent de passer de petites applications à de très grandes applications. Aujourd'hui, de nombreux frameworks s'orientent vers la configuration zéro, vous les trouverez ainsi plus faciles à utiliser.

Vous avez raison, il faut un effort initial pour apprendre le framework lui-même mais cet investissement est rentable dès la première application que vous développez. Et des méta-frameworks tels que AppFuse simplifient encore le démarrage, car il préconfigure le cadres pour vous.

Les cadres ont du sens pour la plupart des applications. Vous devrez peut-être créer votre propre cadre ou en adopter un autre. Les questions les plus importantes sont la granularité de vos structures de données. Ce que je veux dire par là, est-ce que vous devez simplement saisir des données ou avez-vous besoin d'analyser, de compiler et d'exécuter du code dynamique?

Si vous pensez qu'un cadre fonctionne comme une jauge et qu'à gauche se trouve un système de travail de cadre existant, open source ou fermé, et à droite, tout un cadre personnalisé, super imposez votre code au-dessus de ce travail de cadre où le niveau de complexité augmente à droite. Plus vous allez à droite, plus vous aurez de conflit avec le travail sur châssis (IMO).

Toutefois, vous pouvez également migrer lentement d'un framework existant vers un framework personnalisé.

Il y a aussi la question sur votre entreprise. Si vous travaillez pour une entreprise qui ne considère pas le logiciel comme une compétence essentielle telle qu'une banque ou un hôpital, vous devez intégrer cela dans la quantité de travail que vous souhaitez créer.

En bout de ligne, un cadre d'un type quelconque sera toujours utile.

L'utilisation d'une structure peut ajouter des frais généraux au développement de votre application Web en raison de la courbe d'apprentissage. Toutefois, selon le cadre que vous choisissez, vous pourrez peut-être bénéficier des avantages suivants:

  1. Évolutivité
  2. Facilité de maintenance
  3. Division claire de votre modèle (par exemple, MVC)
  4. Composants prêts à l'emploi (Gestion de session, authentification, etc.)
  5. Modules tiers
  6. Modularité héritée du cadre
  7. Beaucoup d'autres.

En outre, la courbe d’apprentissage est un facteur variable. Certains cadres peuvent être plus faciles à apprendre que d’autres en fonction de vos compétences.

Il est tout à fait judicieux d’envisager d’utiliser un cadre même si cela ne vous donne aucune autre raison que cela vous donnera un nouveau domaine de connaissances. Si vous avez le temps d'investir dans l'apprentissage d'un cadre, vous constaterez peut-être avec le temps qu'il est plus facile et plus rapide de l'utiliser pour de nouveaux projets, aussi simples soient-ils.

Aussi, si je pouvais voter pour le poste de SamBeran, alors je le ferais. Débuter avec un framework impliquera plusieurs moments de "Oh génial! Je n'ai pas besoin de réécrire tout ce bazar! ".

Je dirais en utiliser un - comme vous l'avez dit, c'est assez fastidieux de lancer des choses pour même une simple application web java. Si le cadre vous aide à faire le travail plus rapidement et à fournir les services dont vous avez besoin, je dirais que c'est logique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top