Utilisez-vous les micro frameworks Java en 2016 ? Si oui, lesquels ?
Partagez votre expérience !
Le 2016-04-15 23:43:54, par Robin56, Modérateur
Comme nous avons pu le voir à travers le sondage sur les frameworks Web Java, l'écosystème est riche dans ce domaine. Tous adoptent une approche assez similaire avec (en résumé) :
Mais au sein des applications web d'aujourd'hui, celles-ci demandent de plus en plus de réactivité et de rapidité d'exécution. Ces principes peuvent alors paraître contraignants et ne pas favoriser une certaine agilité. De ce constat est née l'émergence d'une nouvelle catégorie de frameworks : les micro-frameworks. L'on peut citer, par exemple : SparkJava ou Vert.X.
Un micro-framework Java peut être vu comme une boîte à outils, une API offrant des fonctionnalités minimales permettant ainsi de s'abstraire de la lourdeur d'un framework web Java classique.
Au vu de cette mouvance, nous avons donc décidé de mettre en place un sondage en cette année 2016 concernant votre utilisation des micro-frameworks. Profitez-en pour donner les raisons de votre choix en insistant par exemple sur :
Merci à tous pour votre participation.
Nicolas pour l'équipe Java
- une architecture suivant un modèle MVC (ou apparenté) ;
- une exécution côté serveur.
Mais au sein des applications web d'aujourd'hui, celles-ci demandent de plus en plus de réactivité et de rapidité d'exécution. Ces principes peuvent alors paraître contraignants et ne pas favoriser une certaine agilité. De ce constat est née l'émergence d'une nouvelle catégorie de frameworks : les micro-frameworks. L'on peut citer, par exemple : SparkJava ou Vert.X.
Un micro-framework Java peut être vu comme une boîte à outils, une API offrant des fonctionnalités minimales permettant ainsi de s'abstraire de la lourdeur d'un framework web Java classique.
Au vu de cette mouvance, nous avons donc décidé de mettre en place un sondage en cette année 2016 concernant votre utilisation des micro-frameworks. Profitez-en pour donner les raisons de votre choix en insistant par exemple sur :
- les fonctionnalités utilisées ;
- la prise en main ;
- la documentation ;
- la communauté.
Merci à tous pour votre participation.
Nicolas pour l'équipe Java
-
Patriarch24Membre expérimentéBonjour,
Attention : Spark n'est pas un micro framework, à ne pas confondre avec sparkjava. On peut citer aussi, de manière non exhaustive Spring Boot, ninja, play, restx, RestExpress, jodd, jooby, pippo... Je ne les connais pas tous, mais j'ai pu en tester quelques uns, et tous répondent à 99% des fonctions attendues de tels outils.
Pour ma part, j'utilise vert.x, qui propose toutes les fonctionnalités nécessaires, une excellent doc, et un style de programmation que j'apprécie.la lourdeur d'un framework web Java classique
Petit aparté :
Mais au sein des applications web d'aujourd'hui, celles-ci demandent de plus en plus de réactivité et de rapidité d'exécution. (...). De ce constat est née l'émergence d'une nouvelle catégorie de frameworks : les micro frameworks. L'on peut citer, par exemple : Spark ou Vert.X.le 25/04/2016 à 10:34 -
GugelhupfModérateurSpring Boot est juste un module Spring 4 pour simplifier la configuration du projet avec des annotations (ps: au lieu de se taper des fichiers XML tels que applicationContext.xml), donc ça reste du Spring.
Pourquoi Restlet ? Il me semble que c'est une implémentation de JAX-RS (tout comme CXF, Jersey, RESTEasy etc), donc pourquoi ne pas avoir mis JAX-RS ?le 25/04/2016 à 14:02 -
barmicMembre actifJ'utilise Vert.x. Je ne suis pas certains qu'on puisse vraiment parler de microframework vu qu'il est end-to-end (il gère tout de la requête HTTP à l'accès à la base de données, contrairement à sparkjava).
Vert.x me plaît car il implémente un pattern reactor et que c'est une façon de faire que j'apprécie. La façon de l'utiliser avec de l'asynchrone à tous les étages me plaît beaucoup.
Il n'est pas particulièrement simple à prendre en main par contre.le 25/04/2016 à 14:31 -
ElinyhsMembre à l'essaiCe que tu décris est une partie de Spring Core, ce n'est absolument pas propre à Spring Boot.
Spring Boot offre notamment une configuration automatique d'une multitude de composants de l'application : il est donc possible de créer une application Spring Boot avec juste une seule classe, comme celle de l'exemple du site officiel :
Code : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21package hello; import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.stereotype.*; import org.springframework.web.bind.annotation.*; @Controller @EnableAutoConfiguration public class SampleController { @RequestMapping("/") @ResponseBody String home() { return "Hello World!"; } public static void main(String[] args) throws Exception { SpringApplication.run(SampleController.class, args); } }
le 27/04/2016 à 14:04 -
JackJnrMembre confirméJe n'utilise qu'un seul framework parmi ceux cités dans la liste, mais pourquoi ne pas proposer plusieurs choix possibles ? J'imagine que certaines personnes ici en utilisent plus d'unle 25/04/2016 à 9:12
-
Robin56ModérateurNous avons voulu mettre le sondage en mode "un vote" pour voir le ou les outils qui se démocratisaient le plus. Mais effectivement, nous aurions pu mettre le sondage en mode multi réponse.
On parle bien de SparkJava et non de Spark (le sondage propose bien SparkJava). Le lien a été corrigé en conséquence, merci.
Justement, nous aimerions avoir votre ressenti à ce sujet. Pourquoi utilisez vous ou non les micro frameworks ? Qu'est ce qu'ils vous apportent par rapport à l'utilisation des frameworks "classiques" ?
Formulation modifiée, merci.le 25/04/2016 à 11:03 -
alves1993Membre éclairéPour ma part SparkJava.
Qui propose une prise en main assez simple et rapide et qui a été conçu dans le but d'augmenter la productivité des programmeurs.le 25/04/2016 à 13:25 -
Traroth2Membre émériteJ'utilise vert.x pour des projets perso. La version 3 est très complète (sécurité, monitoring, modules d'accès aux données), mais change radicalement par rapport à la version 2. Peu de documentation en dehors de la doc officielle. La version 3 est aussi moins multilangage que la version 2, ce qui est dommage. Python, Clojure, Scala et Coffeescript ne sont plus supportés.le 25/04/2016 à 14:57
-
TcharlMembre avertiPerso, j'utilise un framework un peu plus complet, qui embarque aussi (optionnellement ) une partie UI et de la persistance: Osgiliath Enterprise framework. Une petite stack microservice basée sur OSGI/Karafle 25/04/2016 à 15:11
-
Patriarch24Membre expérimenté
Envoyé par Robin56
- un package léger*
- démarrage d'application simple : java -jar app.jar
- démarrage en quelques millisecondes (concernant vert.x au moins)
* < 10 MB avec toutes les dépendances.le 26/04/2016 à 12:39