Katia, Guillaume, Emmanuel et Antonio discutent Kotlin, Micronaut, Spring Boot, Quarkus, Langchain4j, LLMs en Java, builds reproductible et la question AMA du jour, comment fait-on carrière de dev à 40 ans ?
Enregistré le 14 juin 2024
Téléchargement de l’épisode LesCastCodeurs-Episode-313.mp3
News
Langages
Android avec Kotlin Multiplatform our Flutter avec Dart ? https://developers.googleblog.com/en/making-development-across-platforms-easier-for-developers/
- Des licenciements ont continué chez Google et l’équipe Flutter/Dart comme plein d’autres ont été touchées, mais sur les réseaux sociaux les gens ont pensé que Google désinvestissait dans Flutter et Dart.
- Par ailleurs, côté Android, ils poussent plutôt du côté de Kotlin et KMP, mais naturellement aussi les gens se sont demandé si Google avait pris parti pour pousser plus Kotlin/KMP plutôt que Flutter/Dart.
- Pour essayer de mieux faire comprendre aux développeurs l’intérêt des deux plateformes, et leurs avantages et inconvénients, les directeurs des deux plateformes ont rédigé un article commun.
- Si l’on souhaite une expérience plus proche du hardware et des dernières nouveautés d’Android, et d’avoir aussi une UI/UX vraiment native Android, mieux vaut aller du côté de Kotlin/KMP.
- Si l’on souhaite par contre une expérience multiplateforme Web, mobile, desktop avec une UX commune cross-plateforme, avec également le partage de business logic à partir d’une même base de code, Flutter et Dart sont plus adaptés.
Recap de KotlinConf https://x.com/gz_k/status/1793887581433971083?s=46&t=C18cckWlfukmsB_Fx0FfxQ
- RPC multiplatform
- la pres Grow with the flow montrant la reecriture en kotlin plus simple que des solutions complexes ailleurs
- power-assert pour ecrire des tests
- Kotlin 2.0 et les evolutions majeures
- Kotlin multiplatforme mainteant stable
- Kotlin Compose Multiplatform continue a amturer
- Retour d’experience de la migration d’android jetpack vers Kotlin Multiplatform
- use cases de coroutines et scope
Librairies
Quarkus veut aller dans une fondation https://quarkus.io/blog/quarkus-in-a-foundation/
- ameliorer l’adoption (encore plus), ameliorer la transparence, et la collaboration, encourager la participatiopn multi vendeur
- Premiere etape : une gouvernance plus overte
- Deuxieme etape: bouger dans uen foundation
- Echange avec la communaute sur la proposition et les fondations cibles
- Des criteres pour al foudnation (notamment la rapidite de delivery
Quarkus 3.11 https://quarkus.io/blog/quarkus-3-11-0-released/
- Websocket.next en cours
- Dev services pour observabilite (grafana, jaegel, open telemetry
- extension infinispan cache
- #38448 - Observability extensions - Dev Services, Dev Resources, LGTM
- #39836 - Infinispan Cache Extension
- #40309 - WebSockets Next: client endpoints
- #40534 - WebSockets Next: initial version of security integration
- #40273 - Allow quarkus:run to launch Dev Services
- #40539 - Support for OIDC session expired page
- #40600 - Introduce
OidcRedirectFilter
LangChain4j 0.31 est sorti https://github.com/langchain4j/langchain4j/releases/tag/0.31.0
- Recherche Web pour le RAG avec Google et Tavily
- RAG avec les bases de données SQL (expérimental)
- Récupération des resources remontées par le RAG lorsque AiServices retourne un Result
- Observabilité LLM pour OpenAI pour être notifié des requêtes, réponses et erreurs
- Intégration de Cohere (embedding), Jina (embedding et re-ranking scoring), Azuere CosmosDB comme embedding store
- Mise à jour de Gemini avec le parallel function calling et les instructions système
Spring Boot 3.3.0 est sorti .css-j9qmi7{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-weight:700;margin-bottom:1rem;margin-top:2.8rem;width:100%;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:start;justify-content:start;padding-left:5rem;}@media only screen and (max-width: 599px){.css-j9qmi7{padding-left:0;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}}.css-j9qmi7 svg{fill:#27292D;}.css-j9qmi7 .eagfbvw0{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#27292D;}