La version 2.0 de Javalin est parue en août dernier avec la prise en charge de la modularisation JSON ainsi qu’une longue liste de nouveaux ajouts. Parmi les fonctionnalités qui ont fait leur apparition dans la version 2.0, on pourrait citer la prise en charge des bibliothèques Web côté client WebJars, la modularisation des fonctionnalités JSON et des modèles, afin que les développeurs puissent connecter leurs propres moteurs de rendu / mappeurs, l'ajout d'un CRUDhandler pour supprimer la fonctionnalité de la création d'API CRUD standard (créer, lire, mettre à jour, supprimer) et bien d’autres encore.
Javalin est plus une bibliothèque qu'un framework, a informé son équipe de développement. Il ajoute que vous n'avez pas besoin d'étendre quoi que ce soit, il ne comporte pas d’annotations, pas de réflexion, pas d'autres exigences, mais juste du code. Javalin a très peu de concepts à apprendre. Vous ne devez jamais étendre une classe et vous devez rarement implémenter une interface. Javalin est conçu pour être simple et bloquant, car il s’agit du modèle de programmation le plus facile à raisonner.
Dans cette nouvelle version, l’une des fonctionnalités les plus importantes que l’équipe de développement a ajoutées est le support pour OpenAPI (Swagger). Selon l’équipe, cela a été très demandé depuis la sortie de Javalin, mais il a été difficile de parvenir à une bonne intégration. Il a donc fallu attendre la version 3.0 de l’outil pour obtenir une mise en œuvre complète de la spécification OpenAPI 3.0, disponible à la fois en tant que DSL et annotations. Lorsque vous utilisez OpenAPI DSL, vous devez définir un objet OpenApiDocumentation à associer à votre Handler. Vous devez ensuite combiner ces éléments lorsque vous ajoutez vos itinéraires. Dans le second cas, lorsque vous utilisez les annotations OpenAPI, votre documentation sera séparée de votre code.
Si vous utilisez l'API d'annotation, vous n'avez pas besoin de connecter manuellement la documentation et le gestionnaire, vous référencez votre gestionnaire normalement. Javalin extraira ensuite les informations de l'annotation et construira automatiquement la documentation. Pour activer les documents hébergés, vous devez spécifier certains chemins dans votre configuration Javalin. Notez que Javalin prend en charge Swagger et ReDoc pour le rendu de la documentation. Voici une liste de ce qui a changé de la version 2.8 :
- les WebSockets ont été complètement retravaillés : la prise en charge de WsContext ; wsBefore, wsAfter, wsException ont également été introduits ; AccessManager peut maintenant gérer les demandes de mise à niveau de WebSocket ;
- la configuration a été déplacée de la JavalinClasse vers JavalinConfig, ce qui est un argument pour app.create() ;
- la configuration des événements a été complètement modifiée et de nouveaux événements ont été ajoutés ;
- la validation a été améliorée et simplifiée ;
- Extension a été renommé Plugin et a été retravaillé ;
- le mode autonome (fonctionnant sans jetée) a été amélioré ;
- une très petite intégration de Vue.js (bibliothèque frontale JavaScript) a été ajoutée ;
- les internes ont été complètement refondus pour faciliter le développement ;
- beaucoup de nouvelles options de configuration ont été ajoutées.
Plutôt que d'être un framework Web complet, Javalin est une bibliothèque d'API REST légère ou un microframe. Bien que Javalin n’ait aucun concept de MVC, sa prise en charge de WebSockets, de moteurs de template et de service de fichiers statiques permet à Javalin d’être utilisé pour créer une API RESTful backend et servir index.html avec des ressources statiques, dans le cas d’un développement d’une application à une seule page. Vous pouvez consulter la documentation pour avoir plus de détails sur les nouvelles intégrations de l’outil.
Source : Javalin
Et vous ?
Que pensez-vous de cette nouvelle version de Javalin ?
Voir aussi
Javalin 2.0, le framework Web léger qui fournit une interopérabilité entre Java et Kotlin vient avec la prise en charge de la modularisation JSON
Quels sont les frameworks que vous aimeriez apprendre en 2019 ? Et quelles sont vos motivations ?
Quel framework Web Java utilisez-vous principalement en 2018 ? Partagez votre expérience !