# La sortie de Vue.js 3 est imminente

par Charles-Henry Vagner

La version 3 du framework Vue.js a été annoncée en 2018 par son créateur Evan You. Elle est passée en RC le 17 juillet 2020 !

L’annonce a été rédigée sur le GitHub du projet : le coeur est stabilisé, la documentation est publiée et les outils de développements sont disponibles sur le Chrome web store.

Pour compléter l’annonce, nous vous proposons la lecture de l’article de MadeWithVueJS Vue 3 – A roundup of infos about the new version of Vue.js.

Il vous permettra, si ce n’est déjà fait, de découvrir les principales nouveautés et les changements de la version à venir, dont la Composition API.

L’article référence le guide de migration depuis la version 2 ainsi que des ressources pour apprendre à utiliser Vue 3 qu’on soit débutant ou qu’on ait l’habitude de la version 2.

Bref, il s’agit d’un point d’entrée à bookmarquer.

# Kotlin 1.4 : stable et rapide avant tout

par Thomas Broyer

Kotlin 1.4 a vu le jour le 17 août dernier, avec un focus particulier sur la qualité et la performance. Au chapitre des nouveautés, car il y en a tout de même :

  • conversion SAM pour les interfaces Kotlin : en plus des interfaces Java supportées de longue date ; pour rappel, la conversion SAM permet d’utiliser une lambda ou une référence de fonction là où un objet implémentant une interface SAM (Single Abstract Method) est attendue, ce qui n’était pas possible jusqu’à présent puisque Kotlin supporte aussi des types fonctions pour ça
  • les virgules finales (trailing commas) sont autorisées dans les appels de fonction, 3 ans après JavaScript !
  • le nouvel algorithme d’inférence de type est désormais activé par défaut
  • Côté Kotlin/JVM : les méthodes non-abstraites sur les interfaces peuvent maintenant être compilées vers des méthodes par défaut en Java, quand jusqu’à présent elles n’existaient qu’en Kotlin ; dans la même veine, les annotations de type peuvent être émise dans le bytecode Java, via un argument du compilateur
  • Côté Kotlin/JS : le plugin Gradle bénéficie d’un nouveau DSL, plus proche du plugin Kotlin Multiplateforme
  • Côté Kotlin/Native : les fonctions suspendues sont appelables depuis Swift et Objective-C, et les déclarations génériques Kotlin sont exportées en déclarations génériques Objective-C, la gestion des dépendances CocoaPod se voit simplifiée, et enfin les performances tant à la compilation qu’à l’exécution sont revues à la hausse
  • Côté Kotlin Multiplateforme : il est désormais possible de partager du code entre un sous-ensemble des plateformes cibles, et les bibliothèques kotlinx peuvent n’être déclarées qu’une seule fois en dépendance d’un projet partagé, tirant avantage du support des variantes dans Gradle
  • Côté Gradle justement : le bibliothèque standard est automatiquement ajouté en dépendance, et le support des fichiers .gradle.kts se voit amélioré dans les IDE (principalement IntelliJ IDEA)
  • Sans parler des améliorations de la bibliothèque standard, et le passage de kotlinx.serialization en version stable (pour la sérialisation JSON)

# React 17 : rien de nouveau sous le soleil

par Aurélien Vernay

React a récemment proposé à la communauté la Release Candidate 17.0 de son framework. Au programme de cette release majeure : aucune nouvelle fonctionnalité ! En effet, l’équipe de développement s’est plutôt concentrée afin de travailler sur des sujets de maintenabilité sur cette release : 

  • Les Gradual Updates (mises à jour graduelles) permettront aux développeurs de migrer progressivement des parties de leur webapp sur les prochaines releases de React (au lieu de devoir effectuer une migration “tout-d’un-bloc”, souvent coûteuse et douloureuse. Ainsi, les composants seront lazy-loadés pour chaque version de React mise en place, et cohabiteront au sein d’une même page HTML. 
  • La délégation d’événements a été modifiée pour permettre la mise en place des Gradual Updates : désormais, React va attacher un eventHandler sur le noeud racine de son app au lieu d’utiliser l’objet global document (puisqu’il pourra être partagé entres différentes instances React)
  • La gestion de la stacktrace a été revue afin de pouvoir retrouver la ligne en erreur sur le bon fichier .js, même en mode production. Cela permettra un debugging plus facile sur les applications en production !

Retrouvez le détail de ces annonces sur le blog officiel de React.

# Le format AVIF arrive dans les navigateurs

par Thomas Broyer

Le format d’image AVIF est désormais pris en charge par Chrome dans sa dernière version (85, sortie il y a quelques jours à peine). Cette prise en charge est basée sur libavif, disponible sous license BSD, et contribuée directement dans Chromium, donc elle devrait arriver sous peu également dans Microsoft Edge, Opera, Brave, etc. Firefox de son côté prend en charge le format AVIF depuis la version 77 de juin dernier, mais désactivé par défaut. Quant à Safari, un patch semble en préparation, alors que le format WebP n’y est pas encore pris en charge (il arrive dans la version 14 cet automne), croisons les doigts pour que ce soit plus rapide (6 ans de retard par rapport à Chrome, 2 ans environ par rapport à Edge et Firefox).

Mais qu’apporte le format AVIF ? Netflix en avait fait l’éloge en février dernier, chiffres à l’appui, mais on peut résumer en disant que c’est un meilleur WebP : basé sur AV1 et HEIF (VP8 et RIFF pour WebP) compression avec ou sans perte (avec des gains de 20% à 40% comparé à WebP, lui-même généralement meilleur que PNG ou JPEG), images fixes ou animées, transparence avec couche alpha, HDR, etc. tout en étant libre de droits.