Spring Initializr, un outil Web open source permettant d'amorcer rapidement la création de projets Spring Boot et la technologie à la base de start.spring.io, a fait l'objet de plusieurs mises à jour et ajouts au cours des derniers mois. Ces mises à jour comprenaient l'ajout d'une fonctionnalité très demandée, la possibilité d'explorer le contenu des projets dans le navigateur avant de les générer. Ils ont également inclus une API de génération de projet remanié et reconçu qui permet une personnalisation plus aisée de l'outil sans avoir à forker le projet et une interface utilisateur récemment repensée.
En réponse aux retours des utilisateurs, l'équipe de Spring a introduit une nouvelle fonctionnalité d'exploration de projet dans Spring Initializr. La fonctionnalité très demandée permet désormais aux développeurs de "jeter un coup d'œil sur les fichiers de projet générés sans avoir à réellement les télécharger, les décompresser, etc.", explique Damien Vitrac, responsable de l'implémentation de la fonctionnalité et membre de l'équipe Spring. Les développeurs peuvent utiliser cette fonctionnalité pour examiner l'incidence de diverses options sur les résultats du projet à générer, ou bien l'utiliser pour comparer un projet existant, par exemple.
L'API derrière l'outil de création de projet a également reçu des mises à jour. Madhura Bhave, membre de l'équipe Spring, a décrit la motivation derrière les changements. "Le problème avec l'API existante était que, pour quiconque souhaitait personnaliser la génération de projet, le seul moyen sensé de le faire était de créer un fork de la bibliothèque à la volée ...", et "cela a abouti à une piètre expérience pour les développeurs." Pour remédier à cela, l'équipe Spring a créé plusieurs nouvelles interfaces d'abstractions et de callback. Par exemple, la nouvelle interface BuildCustomizer
peut être utilisée pour personnaliser une Build
, une des abstractions récemment introduites, pour ajouter des dépendances, des plug-ins ou tout autre comportement de build personnalisé. De plus, de nouvelles annotations, comme @ConditionalOnPackaging
, ont été introduites pour permettre l'application conditionnelle de personnalisations. "L'idée est que les personnalisations peuvent être définis dans des modules externes (un peu similaires aux configurations automatiques dans Spring Boot) sans qu'il soit nécessaire de modifier la bibliothèque."
Enfin, le projet a publié une nouvelle interface utilisateur dans le cadre d'un "(très nécessaire) rafraîchissement." L'actualisation, qui visait à ne pas introduire de nouvelles fonctionnalités ni à modifier les fonctionnalités existantes, présente un layout et une interface utilisateur modernes. Plus précisément, la nouvelle interface utilisateur déplace toutes les fonctionnalités fonctionnelles en une seule colonne, par opposition à la conception précédente à deux colonnes. De plus, la fonctionnalité de recherche de dépendance contient désormais plus de métadonnées descriptives sur les dépendances. Par exemple, dans les résultats de la recherche, la description de la dépendance 'Web' précédemment affichée est "Application Web Servlet avec Spring MVC et Tomcat". Il apparaissait également dans la liste des dépendances sélectionnées sous le nom "Web". Dans la nouvelle version, une description plus utile est désormais affichée: "Création d'applications Web, y compris RESTful, à l'aide de Spring MVC. Utilise Tomcat comme conteneur incorporé par défaut", ainsi qu'un nom plus descriptif dans la liste des dépendances sélectionnées, 'Spring Web Starter.'
Si vous souhaitez utiliser les nouvelles fonctionnalités maintenant, rendez-vous sur start.spring.io pour les consulter. Si vous souhaitez fournir des commentaires ou créer une version personnalisée de Spring Initializr, assurez-vous de consulter les deux projets associés sur Github, initializr et start-site.