Published: June 13, 2022, 8:21 a.m.
Cet \xe9pisode une fois n\u2019est 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\xe9 le 10 juin 2022
T\xe9l\xe9chargement de l\u2019\xe9pisode LesCastCodeurs-Episode\u2013280.mp3
News Langages
Sept raisons pour lesquelles Java a a encore du sens apr\xe8s 26 ans
- communaut\xe9 (dans toutes les grandes villes)
- force du langage et de la plateforme
- plus de probl\xe8mes r\xe9solus que non r\xe9solus (librairies)
- stabilit\xe9
- Innovation (Java 9 acc\xe9l\xe8re l\u2019innovation)
- outillage
- opportunit\xe9 d\u2019emploi
Les d\xe9buts du projet Leyden
- Mark Reinhold lance le projet Leyden, pour adresser les probl\xe8mes de temps de d\xe9marrage lent de Java, de lenteur du temps jusqu\u2019\xe0 la performance max, et d\u2019empreinte un peu lourde
- \xe0 l\u2019aide d\u2019une image statique de votre application
- une image statique ne fait tourner qu\u2019une seule et unique application sur son JDK, et est un \u201cmonde ferm\xe9\u201d (ne peut pas charger de classe externes)
- mais les ing\xe9s de la JVM vont travailler sur une approche assez souple, et voire quelles contraintes peuvent \xeatre all\xe9g\xe9es, par rapport \xe0 un monde compl\xe8tement ferm\xe9 d\u2019une image statique
- en esp\xe9rant avoir des am\xe9liorations \xe0 diff\xe9rents niveaux, pour un max d\u2019appli et de use case diff\xe9rents
- Le close world c\u2019est ce qui am\xe8ne la valeur de GraalVM native image et les avantages pour Micronaut, Quarkus et le autres
- donc pas de closed world: c\u2019est encore un projet de recherche pour l\u2019\xe9quipe de la JVM
JFR plus facile \xe0 configuer dans Java 17
- un wizard en UI ou CLI pour generer 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\u2019apparition du langage Dart, gr\xe2ce \xe0 Flutter, dans leur top 20 des langages de programmation les plus populaires
- JavaScript, Python, Java, toujours en t\xeate
- Mais Rust et Dart sont rentr\xe9s r\xe9cemment
- L\u2019arriv\xe9e de Dart co\xefncide surtout avec l\u2019\xe9mergence de Flutter comme framework d\u2019interface 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\xe9veloppement natif, mais est aussi arriv\xe9 React Native, mais aussi Flutter
- Des applis de Google comme Google Pay et Google Ads sont d\xe9velopp\xe9es en Flutter, mais aussi le r\xe9cent SNCF Connect ou des entreprises telles que BMW ou Alibaba (modifi\xe9)
- (cf le talk sur le REX par les d\xe9veloppeurs de SNCF Connect \xe0 Devoxx France)
- les investissements initiaux de Dart vs Kotlin ou Ceylon qui ont d\xe9marr\xe9s en meme temps \xe9taient colossaux
- Dart en natif pour faire des applis iOS\u2026 qui tournent aussi sous Android
Kotlin 1.7 est sorti
- Kotlin K2 compiler pour la JVM em Alpha (les plug ins ne fonctionne pas)
- am\xe9lioration des perf de Kotlin et du compilo pour la JVM
- build incremental Gradle
- annotation OptIn et inf\xe9rence de Builder stabilis\xe9s
- classes implementee par delegation automatique sans consommation m\xe9moire (via inlining)
Librairies
Sortie de Micronaut 3.5
- Passage \xe0 GRAALVM 22.1.0
- Compilation incr\xe9mentale lors des builds, en particulier int\xe9ressant pour les m\xe9tadonn\xe9es pour GraalVM, ce qui permet d\u2019\xe9viter de faire tourner les processeurs d\u2019annotation inutilement
- Inclusion de Micronaut Data 3.4, avec support des enums Postgres pour JDBC, la pagination pour les Reactive Repositories
- Int\xe9gration avec Turbo pour la vue (Turbo Frame et Turbo Views)
- Nouveau module pour MicroStream (un moteur de graphe d\u2019objet natif Java, int\xe9gr\xe9 \xe0 Helidon)
- Mise \xe0 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\xe8re version utilisant officiellement Sigstore, permettant une v\xe9rification transparente des signatures pour prot\xe9ger contre les attaques de la cha\xeene d\u2019approvisionnement
- Sigstore est une nouvelle norme pour la signature, la v\xe9rification et la protection des logiciels. Elle se veut \xeatre un rempla\xe7ant pour GPG par exemple.
- Sigstore offre une vari\xe9t\xe9 d\u2019avantages \xe0 la communaut\xe9 Kubernetes comme:
- Sigstore\u2019s keyless signing donne une grande exp\xe9rience de d\xe9veloppeur et supprime le besoin de la gestion de cl\xe9 douloureuse.
- Le journal public et transparent de Sigstore (Rekor) avec ses API permettent aux consommateurs Kubernetes de v\xe9rifier les signatures.
- \u2026
Web
RFC 9114 - HTTP/3 est valid\xe9e (+ RFC 9204 - QPACK: Field Compression for HTTP/3 et RFC 9218 - Extensible Prioritization Scheme for HTTP)
- Bas\xe9 sur le protocole de transport QUIC qui poss\xe8de plusieurs fonctionnalit\xe9s int\xe9ressantes telles que le multiplexage de flux, le contr\xf4le de flux par flux et l\u2019\xe9tablissement de connexion \xe0 faible latence.
- QPACK : un format de compression pour repr\xe9senter efficacement les champs HTTP \xe0 utiliser en HTTP/3. Il s\u2019agit d\u2019une variation de la compression HPACK qui vise \xe0 r\xe9duire la taille des headers.
- Extensible Prioritization Scheme for HTTP: sch\xe9ma qui permet \xe0 un client HTTP de communiquer ses pr\xe9f\xe9rences quant \xe0 la fa\xe7on dont le serveur en amont priorise les r\xe9ponses \xe0 ses demandes, et permet \xe9galement \xe0 un serveur d\u2019indiquer \xe0 un interm\xe9diaire en aval comment ses r\xe9ponses devraient \xeatre prioris\xe9es lorsqu\u2019elles 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\u2019architecture Netflix
- Pas fou fou dans les infos mais \xe7a fait longtemps qu\u2019on a pas eu d\u2019archi
- analyze the system design in terms of availability, latency, scalability and resilience to network failure
- bas\xe9 sur AWS
- clients via un SDK est intelligent, contr\xf4le le backend utilis\xe9 et la bande passante en temps r\xe9el
- Open Connect CDN: l\xe0 ou les vid\xe9os sont stock\xe9es
- le reste du bon vieux microservice en backend
- ram\xe8ne les dix meilleurs points d\u2019acc\xe8s 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\xe9t\xe9 et organisation
VMWare rachet\xe9 par Broadcom
- 61 milliards de dollars
- Avec un objectif de passer de 3,5 \xe0 8,5 milliard d\u2019EBITA par an
- Bouger dans la division cloud avec Symantec
- VMWare \xe9tait content de sa libert\xe9 retrouv\xe9e apr\xe8s la spin off de Dell
- Apparemment pas d\u2019alignement de tech
- une expansion de portefeuiille dans le software pour broadcom
- VMWare a beaucoup chang\xe9 de mains ces derni\xe8res ann\xe9es
- La strategie d\u2019investissement de broadcom: acheter des franchises avec une bonne position de marcher et un potentiel de profitabilit\xe9 augment\xe9 sans gros investissements
- La rumeur
- un ex de VMWare qui pense que c\u2019est la mort de VMWare
Outils de l\u2019\xe9pisode
GitHub Copilot quand le code s\u2019\xe9crit tout seul \u2026 (en fait non, les d\xe9veloppeurs ont encore des beaux jours devant eux)
Rubrique d\xe9butant Conf\xe9rences
Source: Developers Conferences Agenda/List by Aur\xe9lie Vache et contributeurs
June
September
October
November
December
Nom de la conf du x au y mois \xe0 Ville - CfP jusqu\u2019\xe0 y mois
TODO: reprendre celles de l\u2019\xe9pisode d\u2019avant
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/