JavaRush /Blog Java /Random-FR /Tendances Java pour 2021 : Kotlin, architecture de micros...

Tendances Java pour 2021 : Kotlin, architecture de microservices et Kubernetes

Publié dans le groupe Random-FR
Le monde du développement évolue très rapidement. Pour suivre les changements, vous devez comprendre ce qui se passe dans ce monde. Connaître les tendances vous permet de vous adapter aux tendances qui évoluent rapidement. L'intelligence artificielle, l'augmentation du nombre d'intégrations et l'Internet des objets ne sont qu'une partie des tendances mondiales en matière de programmation. JavaRush a demandé à Andrey Rodionov, spécialiste de la programmation Java et conférencier, ce qui arriverait à Java en 2021.Tendances Java en 2021 : Kotlin, architecture de microservices et Kubernetes - 1

Pour quels domaines Java est-il encore la seule solution ?

Dans un avenir proche, Java restera l'une des principales plates-formes de développement d'applications d'entreprise ( c'est-à-dire des applications d'entreprise utilisées par les grandes entreprises pour gagner de l'argent. Ces applications ont une base de code importante et des exigences de fiabilité élevées - ndlr ) et un backend. Java s'intègre bien dans l'architecture des microservices, même s'il ne constitue pas la seule alternative pour écrire des microservices.

Quelles sont les perspectives des autres langages JVM, notamment Kotlin, par rapport à Java ?

Après le battage médiatique autour des langages Groovy et Scala, Kotlin est actuellement le principal langage JVM . Il est déjà devenu un standard pour le développement Android, mais dans le monde de l'entreprise Java, il n'a pas encore gagné sa place. De nombreux frameworks populaires ( Spring , Vert.x , gRPC , RSocket ) s'appuient également sur lui, ce qui permet de l'utiliser en leur sein.

Kotlin est un langage de programmation orienté objet à typage statique qui s'exécute sur la machine virtuelle Java et est développé par JetBrains. Compile également en JavaScript et en code exécutable sur un certain nombre de plates-formes via l'infrastructure LLVM.

Fonctionnalités Kotlin : compile en bytecode JVM ou JavaScript, open source, syntaxe facile à lire, les programmes Kotlin peuvent utiliser les frameworks et bibliothèques Java existants.

Y aura-t-il une baisse de la qualité Java en raison de intervalles de publication plus courts ?

Ce ne sera pas le cas : seules les innovations du langage seront publiées au fur et à mesure qu’elles seront prêtes, au lieu d’attendre plusieurs années jusqu’à la prochaine version, comme c’était le cas auparavant. Certaines versions passeront inaperçues auprès des développeurs, car elles n'apporteront aucune innovation super populaire.

Framework Spring : continuera-t-il à étendre son écosystème pour répondre à divers besoins ?

L'écosystème Spring continue de se développer activement et je découvre périodiquement un autre de ses sous-projets, dont je n'avais jamais entendu parler auparavant. Il convient également de noter que Project Reactor et r2dbc, qui sont apparus comme des sous-projets de Spring, peuvent désormais être considérés comme des standards pour l'approche réactive.

Project Reactor est une bibliothèque Java 8 qui implémente le modèle de programmation réactive. Il est construit sur la spécification Reactive Streams, une norme pour la création d'applications réactives.

R2DBC (Reactive Relational Database Connectivity) est un projet open source dédié à la programmation réactive pour SQL.

Quelles sont les tendances de développement des infrastructures cloud IaaS, SaaS, PaaS ? Comment le cloud facilite-t-il le développement, le déploiement, la maintenance et la mise à l'échelle de l'infrastructure ?

La tendance principale ici continue d'être Kubernetes et l'infrastructure qui l'entoure sous la forme d'un maillage de services. Tout fournisseur Cloud qui se respecte offre la possibilité d'utiliser un cluster Kubernetes. Et si une application est écrite pour s’exécuter sur Kubernetes, son déploiement et sa mise à l’échelle sont beaucoup plus faciles.

Kubernetes (K8s) est un logiciel open source permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées.

Kubernetes regroupe les conteneurs qui composent une application en unités logiques pour faciliter la gestion et la découverte.

Kubernetes gère et exécute des conteneurs sur un grand nombre d'hôtes, et permet la colocalisation et la réplication d'un grand nombre de conteneurs. Le projet a été lancé par Google et est désormais soutenu par de nombreuses entreprises, dont Microsoft, RedHat, IBM et Docker.

Quelles autres tendances de développement méritent d’être prises en compte en 2021 ?

L'une des tendances intéressantes qui continue de croître est GraalVM Native Image, qui vous permet de transformer une application Java traditionnelle en une application binaire qui ne nécessitera pas la JVM et les bibliothèques associées pour fonctionner. Un tel fichier binaire s'intègre très bien dans l'architecture des microservices et l'approche sans serveur, car il permet de démarrer très rapidement une nouvelle instance de l'application et ne nécessite pas de « préchauffage » de la JVM.

Les exigences des jeunes développeurs ont-elles récemment changé en raison du développement de Java ?

La plupart des projets incluent toujours des innovations Java 8, même si les développeurs utilisent des versions plus récentes de Java. Par conséquent, la principale exigence est la connaissance de l'API Stream et des éléments de programmation fonctionnels . Il est également bon d'avoir une compréhension de l'architecture des microservices , Docker et Kubernetes , car dans un projet moderne, un développeur novice devra immédiatement s'en occuper.

L'API Stream est une nouvelle façon de travailler avec des structures de données dans un style fonctionnel. Une API Stream (une description de la manière dont un programme informatique peut communiquer avec un autre programme) est, à la base, un flux de données.

Avec l'avènement de Java 8, l'API Stream a permis aux programmeurs d'écrire beaucoup plus brièvement ce qui nécessitait auparavant de nombreuses lignes de code, à savoir simplifier le travail avec des ensembles de données, en particulier pour simplifier le filtrage, le tri et d'autres opérations de manipulation de données. Si vous n'avez pas d'opérations intermédiaires, vous pouvez et devez souvent vous passer d'un flux, sinon le code sera plus compliqué que sans flux.

Docker est un logiciel permettant d'automatiser le déploiement et la gestion d'applications dans des environnements conteneurisés.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION