The Modern Java Platform - édition 2021
(jamesward.com)L’état actuel de la plateforme Java
-
3 langages de programmation dans le Top 20 : Java, Scala, Kotlin
-
Des outils de développement professionnels et matures : IntelliJ IDEA/VS Code, Gradle/Maven/sbt
-
Des frameworks productifs : Spring Boot, Micronaut, Quarkus, Play, ZIO
-
Requêtes réactives : R2DBC, sttp, Quill
-
Reactive Event-Driven / Streaming : Akka, ZIO streams/Flink//ksqlDB/Spark
Command Query Responsibility Segregation (CQRS), Event Sourcing (ES), Conflict-free Replicated Data Types (CRDTs)
- Containers : Dockerfile/Jib/Buildpacks, images basées sur OpenJDK (AdoptOpenJDK), Distroless Java image
Spring Boot Containerization, Micronaut Containerization (Gradle | Maven), Quarkus Containerization
-
Serverless et éviter l’overhead de la JVM : GraalVM Native Image
-
Fear, Uncertainty, Doubt, and Governance : OpenJDK est un véritable projet open source avec une gouvernance multi-fournisseur et distribuée (similaire, dans la plupart des cas, aux autres environnements de programmation open source)
-
The Future : l’écosystème Java continue d’innover dans plusieurs directions. Du point de vue des langages, Java, Kotlin et Scala avancent dans des directions différentes, mais les effets sont dans une certaine mesure partagés
Par exemple
→ le pattern matching de Scala est l’un des meilleurs parmi les langages de programmation, et cela a contribué à encourager un meilleur pattern matching dans Kotlin et Java
→ la JVM a montré d’énormes innovations en matière de garbage collection et de performances
→ lorsque Project Loom (fibers et continuations sur la JVM) sera plus mature, la programmation réactive deviendra plus simple
→ GraalVM est une technologie étonnante
→ Netty a déjà commencé à travailler sur la prise en charge de io_uring (appel système Linux entièrement asynchrone)
→ les données distribuées via les CRDT et le CQRS commencent à prendre de l’élan dans des projets comme Cloudstate
Aucun commentaire pour le moment.