Community IntelliJ IDEA

Utilisation d’IntelliJ IDEA dans les Projets Java open source : Exemples concrets — Partie 1

Read this post in other languages:

Chez JetBrains, nous créons des outils pour aider les développeurs à rester concentrés et productifs, et nous sommes particulièrement fiers lorsque ces outils contribuent à des projets open source sur lesquels des développeurs du monde entier s’appuient au quotidien. De tels projets façonnent l’orientation du développement Java et apportent une contribution significative au dynamisme de l’écosystème Java.

Cette série d’articles en deux parties met en lumière certains des projets Java open source les plus importants que nous soutenons. Qu’il s’agisse de frameworks de test, d’analyseurs HTML, de bibliothèques web ou de langages innovants, chacun de ces projets reflète la créativité et l’ingéniosité de la communauté Java. Dans chaque cas, les IDE de JetBrains comme IntelliJ IDEA aident les développeurs à livrer plus rapidement, à travailler en toute confiance et à écrire du code de meilleure qualité.

☕ Framework Spring

Le framework Java le plus populaire au monde.

Spring se passe de présentation. C’est l’épine dorsale du développement Java moderne côté serveur, avec un fort accent sur la simplicité, la productivité et l’expérience du développeur. JetBrains partage ces valeurs, et l’étroite collaboration entre les équipes de Spring et de JetBrains favorise les synergies pour les développeurs côté serveur du monde entier.

Les retours d’expérience de l’équipe Spring permettent de garantir qu’IntelliJ IDEA offre une expérience fluide et intuitive aux développeurs Spring, même lorsque de nouvelles fonctionnalités sont introduites. Kotlin continue également de façonner l’orientation de Spring : la prise en charge des protections de nullabilité introduites dans Spring Framework 5 évolue dans la version 7 avec les annotations JSpecify, qui profitent à la fois aux utilisateurs de Java et de Kotlin.

— Sébastien Deleuze, core committer du Spring Framework

La communauté Spring se concentre actuellement sur Spring AI, un framework d’applications qui applique les principes de modularité et de portabilité de Spring au domaine de l’IA à l’aide de modèles POJO (Plain Old Java Object) familiers, avec une prise en charge de Java et de Kotlin. L’équipe continue également d’investir dans l’efficacité de l’exécution grâce à la prise en charge des images GraalVM natives, aux optimisations de la JVM du projet Leyden et aux valeurs par défaut intelligentes de Spring Boot. Les parties matures du framework évoluent également, avec des fonctionnalités telles que la gestion des versions de l’API côté client prévue prochainement.

🕹️ Framework Play

Un framework web performant et convivial pour les développeurs Scala et Java.

Le Play Framework est reconnu pour son large éventail d’applications, notamment les plateformes d’information à fort trafic et les systèmes fiscaux nationaux. Il se concentre sur l’évolutivité et la simplicité et donne la priorité à l’expérience des développeurs, grâce à des outils intégrés, un modèle réactif et une architecture sans état.

Nous utilisons principalement IntelliJ IDEA pour le développement de Play, et il est fantastique. Le plugin Scala offre une prise en charge de premier ordre pour SBT et Scala, ainsi que des fonctionnalités dédiées aux projets Play, comme la mise en évidence de la syntaxe et la navigation pour les fichiers de route et les modèles Twirl. La prise en charge de Scala 3 est maintenant très mature, et il est clair que l’équipe JetBrains se soucie vraiment des communautés Scala et Play Framework.

— Matthias Kurz, maintainer du Play Framework

La prochaine version majeure de Play, attendue pour la mi 2025, se concentre sur des améliorations constantes et réfléchies. Parmi les points forts, citons la prise en charge de Gradle, la compatibilité améliorée de Kotlin, l’amélioration des WebSockets et une meilleure prise en charge des normes web modernes et des migrations de bases de données. Cette version achèvera également la transition vers l’espace de noms Jakarta, assurera la compatibilité avec Java 25 LTS et inclura des mises à niveau de Pekko et d’autres dépendances essentielles.

🧩 Koin

Un framework d’injection de dépendances simple et puissant pour Kotlin.

Koin a été créé pour rendre l’injection de dépendances dans Kotlin simple, légère et intuitive, en particulier pour Android. Les outils d’injection de dépendances existants étaient trop complexes et lents à compiler, ou alors ils n’exploitaient pas pleinement les atouts de Kotlin. Inspiré par Spring Boot et les fonctionnalités expressives de Kotlin, Koin a introduit un DSL propre, des valeurs par défaut intelligentes et des intégrations transparentes, pour une prise en charge intuitive de l’injection de dépendances.

IntelliJ IDEA est mon outil de prédilection au quotidien, d’abord pour Java, et encore plus pour Kotlin grâce à son excellente prise en charge de bout en bout. Cette expérience nous a inspiré la création du plugin Koin : un outil qui apporte un retour d’information visuel, des contrôles de sécurité en temps réel et une navigation fluide pour les définitions de Koin, directement dans l’IDE.

— Arnaud Giuliani, créateur de Koin

L’équipe Koin travaille activement sur la version 4.1, qui apportera une prise en charge améliorée de Compose Multiplatform et KMP, une compatibilité intégrée avec Ktor 3.1 et un nouvel ensemble de fonctionnalités Scope. La version 4.2 est déjà en cours de développement. Elle se concentrera sur une intégration plus poussée des coroutines, une nouvelle API Job Scheduler, la prise en charge de Kotlin RPC et d’autres améliorations du DSL Koin.

🔧 Micronaut

Un framework moderne et léger conçu pour un démarrage rapide et une faible utilisation de la mémoire.

Micronaut a été créé en 2018 par l’équipe centrale derrière le framework Grails basé sur Groovy, connue pour l’importance qu’elle accorde à la productivité des développeurs. L’équipe a repéré une opportunité de repenser la façon dont les frameworks Java gèrent le travail traditionnellement effectué au moment de l’exécution. En transférant davantage de traitement vers la phase de compilation, Micronaut réduit considérablement l’utilisation de la mémoire et le temps de démarrage tout en préservant la fluidité et la productivité de l’expérience de développement.

Micronaut prend en charge Java, Kotlin et Groovy, et IntelliJ IDEA offre une prise en charge de premier ordre pour les trois. Des fonctionnalités telles que la délégation de build à Gradle ou Maven, un client HTTP intégré, des outils de couverture de code et un débogage puissant, y compris pour les images GraalVM natives, font d’IntelliJ IDEA un environnement idéal pour le développement et la maintenance d’applications Micronaut modernes.

— Sergio del Amo, membre du Micronaut Development Leadership Panel

Micronaut suit un versionnage sémantique strict, qui reflète son engagement envers la stabilité et le développement moderne. La mission principale du framework reste la même : offrir une excellente expérience aux développeurs, minimiser l’utilisation de la mémoire et optimiser le temps de démarrage (ces deux derniers éléments impactent directement la productivité).

🔍 OpenGrok

Un moteur de recherche de code source et de références croisées rapide et complet pour les bases de code volumineuses.

OpenGrok aide les développeurs à comprendre des bases de code volumineuses et complexes dans plusieurs langages et systèmes de contrôle de version, et à y naviguer. L’outil est devenu une plateforme de recherche puissante et extensible, utilisée par les équipes d’ingénieurs partout dans le monde.

Nous avons récemment expliqué à un collègue pourquoi nous utilisons IntelliJ IDEA. Il nous permet vraiment de gagner en efficacité : nous pouvons par exemple déboguer des JSP directement dans une instance Tomcat exécutée à partir de l’IDE, afficher des graphiques d’exécution et utiliser de puissants outils de refactorisation.

— Ľuboš Koščo et Vladimír Kotal, maintainers d’OpenGrok

L’équipe de développement d’OpenGrok se concentre actuellement sur l’amélioration des performances et de la stabilité, en particulier pour les grands ensembles de données. Cela implique de réduire la quantité de données d’indexation pour exécuter efficacement OpenGrok dans des conteneurs Docker légers et de supprimer progressivement le format de sérialisation JavaBeans. À plus long terme, l’équipe souhaite améliorer la prise en charge des formats de fichiers binaires et explorer la possibilité d’ajouter de nouveaux analyseurs pour étendre les capacités d’OpenGrok.


Revenez pour la 2e partie, dans laquelle nous nous pencherons sur d’autres projets. En attendant, rejoignez-nous les 3 et 4 juin pour la conférence IntelliJ IDEA Conf 2025, notre événement en ligne gratuit célébrant le développement Java moderne. Vous travaillez sur des projets open source, vous créez des applications métier ou vous apprenez encore les ficelles du métier ? C’est dans tous les cas une excellente occasion d’en savoir plus sur les meilleures pratiques et de trouver l’inspiration en découvrant le travail d’experts du secteur dans IntelliJ IDEA.

Auteur de l’article original en anglais :

Lena Morozova

Lena Morozova

image description

Discover more