Cet épisode une fois n’est pas coutume parle beaucoup de nouvelles dans la rubrique langage et beaucoup de Java, wouhou ! On parle aussi de sigstore, http/3, Micronaut et de VMWare.

Enregistré le 10 juin 2022

Téléchargement de l’épisode LesCastCodeurs-Episode-280.mp3

News

Langages

Sept raisons pour lesquelles Java a encore du sens après 26 ans

  • communauté (dans toutes les grandes villes)
  • force du langage et de la plateforme
  • plus de problèmes résolus que non résolus (librairies)
  • stabilité
  • Innovation (Java 9 accélère l’innovation)
  • outillage
  • opportunité d’emploi

Les débuts du projet Leyden

  • Mark Reinhold lance le projet Leyden, pour résoudre les problèmes de temps de démarrage lent de Java, de lenteur du temps jusqu’à la performance max, et d’empreinte un peu lourde
  • à l’aide d’une image statique de votre application
  • une image statique ne fait tourner qu’une seule et unique application sur son JDK, et est un “monde fermé” (ne peut pas charger de classes externes)
  • mais les ingés de la JVM vont travailler sur une approche assez souple et voir quelles contraintes peuvent être allégées par rapport à un monde complètement fermé d’une image statique
  • en espérant avoir des améliorations à différents niveaux, pour un max d’appli et de use cases différents
  • Le close world c’est ce qui amène la valeur de GraalVM native image et les avantages pour Micronaut, Quarkus et les autres
  • donc pas de closed world : c’est encore un projet de recherche pour l’équipe de la JVM

JFR plus facile à configurer dans Java 17

  • un wizard en UI ou CLI pour générer le fichier .jfc

Proposition de structured concurrency via le projet Loom

  • Targeted status for JDK 19.
  • This incubating JEP, under the auspices of Project Loom,
  • proposes to simplify multithreaded programming by introducing a library to treat multiple tasks running in different threads as a single unit of work.
  • This can streamline error handling and cancellation, improve reliability, and enhance observability

RedMonk analyse l’apparition du langage Dart, grâce à Flutter, dans leur top 20 des langages de programmation les plus populaires

  • JavaScript, Python, Java, toujours en tête
  • Mais Rust et Dart sont rentrés récemment
  • L’arrivée de Dart coïncide surtout avec l’émergence de Flutter comme framework d’interface graphique, que ce soit pour Android/iOS, que pour le desktop et le web
  • Sur les applis mobiles, il y a toujours eu beaucoup de développement natif, mais est aussi arrivé React Native, mais aussi Flutter
  • Des applis de Google comme Google Pay et Google Ads sont développées en Flutter, mais aussi le récent SNCF Connect ou des entreprises telles que BMW ou Alibaba (modifié)
  • (cf. le talk sur le REX par les développeurs de SNCF Connect à Devoxx France)
  • les investissements initiaux de Dart vs Kotlin ou Ceylon qui ont démarrés en meme temps étaient colossaux
  • Dart en natif pour faire des applis iOS… qui tournent aussi sous Android

Kotlin 1.7 est sorti

  • Kotlin K2 compiler pour la JVM em Alpha (les plugins ne fonctionnent pas)
  • amélioration des perfs de Kotlin et du compilo pour la JVM
  • build incremental Gradle
  • annotation OptIn et inférence de Builder stabilisés
  • classes implémentées par delegation automatique sans consommation mémoire (via inlining)

Librairies

Sortie de Micronaut 3.5

  • Passage à GRAALVM 22.1.0
  • Compilation incrémentale lors des builds, en particulier intéressant pour les métadonnées pour GraalVM, ce qui permet d’éviter de faire tourner les processeurs d’annotation inutilement
  • Inclusion de Micronaut Data 3.4, avec support des enums Postgres pour JDBC, la pagination pour les Reactive Repositories
  • Intégration avec Turbo pour la vue (Turbo Frame et Turbo Views)
  • Nouveau module pour MicroStream (un moteur de graphe d’objet natif Java, intégré à Helidon)
  • Mise à jour de nombreux plugins et extensions (y compris plugins de build)

Infrastructure

Kubernetes signals massive adoption of Sigstore for protecting open source ecosystem

  • Kubernetes 1.24 (sorti en mai) est la première version utilisant officiellement Sigstore, permettant une vérification transparente des signatures pour protéger contre les attaques de la chaîne d’approvisionnement
  • Sigstore est une nouvelle norme pour la signature, la vérification et la protection des logiciels. Elle se veut être un remplaçant pour GPG par exemple.
  • Sigstore offre une variété d’avantages à la communauté Kubernetes comme :
    • Sigstore’s keyless signing donne une grande expérience de développeur et supprime le besoin de la gestion de clé douloureuse.
    • Le journal public et transparent de Sigstore (Rekor) avec ses API permettent aux consommateurs Kubernetes de vérifier les signatures.

Web

RFC 9114 - HTTP/3 est validée (+ RFC 9204 - QPACK: Field Compression for HTTP/3 et RFC 9218 - Extensible Prioritization Scheme for HTTP)

  • Basé sur le protocole de transport QUIC qui possède plusieurs fonctionnalités intéressantes telles que le multiplexage de flux, le contrôle de flux par flux et l’établissement de connexion à faible latence.
  • QPACK : un format de compression pour représenter efficacement les champs HTTP à utiliser en HTTP/3. Il s’agit d’une variation de la compression HPACK qui vise à réduire la taille des headers.
  • Extensible Prioritization Scheme for HTTP : schéma qui permet à un client HTTP de communiquer ses préférences quant à la façon dont le serveur en amont priorise les réponses à ses demandes et permet également à un serveur d’indiquer à un intermédiaire en aval comment ses réponses devraient être priorisées lorsqu’elles sont transmises.

Outillage

VSCode Java 1.5 est sorti

  • Java 18 support, inlay hints for method parameters, and improvements to class declaration navigation are just a few of the enhancements to expect.

Architecture

L’architecture Netflix

  • Pas fou fou dans les infos, mais ça fait longtemps qu’on n’a pas eu d’archi
  • analyze the system design in terms of availability, latency, scalability and resilience to network failure
  • basé sur AWS
  • clients via un SDK est intelligent, contrôle le backend utilisé et la bande passante en temps réel
  • Open Connect CDN : là où les vidéos sont stockées
  • le reste du bon vieux microservice en backend
  • ramène les dix meilleurs points d’accès et le client choisi, voire change
  • API Gateway via Zuul: dynamic routing, traffic monitoring and security, resilience to failures at the edge of the cloud deployment
  • etc

Loi, société et organisation

VMWare racheté par Broadcom

  • 61 milliards de dollars
  • Avec un objectif de passer de 3,5 à 8,5 milliard d’EBITDA par an
    • Bouger dans la division cloud avec Symantec
  • VMWare était content de sa liberté retrouvée après le spin-off de Dell
  • Apparemment pas d’alignement de tech
  • une expansion de portefeuille dans le software pour broadcom
  • VMWare a beaucoup changé de mains ces dernières années
  • La stratégie d’investissement de broadcom : acheter des franchises avec une bonne position de marcher et un potentiel de profitabilité augmenté sans gros investissements
  • La rumeur
  • un ex de VMWare qui pense que c’est la mort de VMWare

Outils de l’épisode

GitHub Copilot quand le code s’écrit tout seul … (en fait non, les développeurs ont encore des beaux jours devant eux)

Rubrique débutant

Conférences

Source: Developers Conferences Agenda/List by Aurélie Vache et contributeurs

June

September

October

November

December

Nous contacter

Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/