Utilisez-vous les micro frameworks Java en 2016 ? Si oui, lesquels ?
Partagez votre expérience !

Le , par Robin56

9PARTAGES

5  0 
Utilisez-vous les micro-frameworks Java en 2016 ? Si oui, lesquels ? Partagez votre expérience !
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é) :
  • 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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Patriarch24
Membre expérimenté https://www.developpez.com
Le 25/04/2016 à 10:34
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
Lesquels par exemple ? Java EE ? Ça a bien changé, et c'est devenu beaucoup plus léger que par le passé (voir payara ou wildfly swarm).

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.
Est-ce que ce texte a été relu ? Il me semble qu'il n'est pas très correct grammaticalement...
2  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 25/04/2016 à 14:02
Spring 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 ?
1  0 
Avatar de barmic
Membre actif https://www.developpez.com
Le 25/04/2016 à 14:31
J'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.
1  0 
Avatar de Elinyhs
Membre à l'essai https://www.developpez.com
Le 27/04/2016 à 14:04
Citation Envoyé par Gugelhupf Voir le message
Spring 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 ?
Ce 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 : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package 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);
    }
}
1  0 
Avatar de JackJnr
Membre confirmé https://www.developpez.com
Le 25/04/2016 à 9:12
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'un
0  0 
Avatar de Robin56
Responsable Java https://www.developpez.com
Le 25/04/2016 à 11:03
Citation Envoyé par JackJnr Voir le message
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'un
Nous 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.

Citation Envoyé par Patriarch24 Voir le message
Bonjour,
Attention : Spark n'est pas un micro framework, à ne pas confondre avec sparkjava.
On parle bien de SparkJava et non de Spark (le sondage propose bien SparkJava). Le lien a été corrigé en conséquence, merci.

Citation Envoyé par Patriarch24 Voir le message
Lesquels par exemple ? Java EE ? Ça a bien changé, et c'est devenu beaucoup plus léger que par le passé (voir payara ou wildfly swarm).
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" ?

Citation Envoyé par Patriarch24 Voir le message
Est-ce que ce texte a été relu ? Il me semble qu'il n'est pas très correct grammaticalement...
Formulation modifiée, merci.
0  0 
Avatar de alves1993
Membre confirmé https://www.developpez.com
Le 25/04/2016 à 13:25
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.
0  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 25/04/2016 à 14:57
J'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.
0  0 
Avatar de Tcharl
Membre averti https://www.developpez.com
Le 25/04/2016 à 15:11
Perso, 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/Karaf
0  0 
Avatar de Patriarch24
Membre expérimenté https://www.developpez.com
Le 26/04/2016 à 12:39
Citation Envoyé par Robin56
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" ?
Voici mes arguments :
  • 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.
0  0 
Responsables bénévoles de la rubrique Java Web : Mickael Baron - Robin56 -

Partenaire : Hébergement Web