‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌   ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ 

Numéro 05 (15 novembre 2021)

Ouvrir la newsletter dans le navigateur

arrow

Kotlin et Android se partagent la vedette cette semaine !

De nombreux évènements se sont succédés dernièrement. Rien que la semaine passée, nous avons pu apprécier l'Android Dev Summit, mais aussi le Kotlin 2021 Premier ! Nous parlerons ainsi dans un premier temps de la feuille de route Kotlin pour l'automne 2021. Puis nous garderons le cap sur Android avec les nouvelles exigences pour Android TV, avant de clore sur notre partie découverte d'Android 12 et plus particulièrement de la connectivité.

Les actualités Android

Image La feuille de route Kotlin pour l'automne 2021

Avec sept points évoqués, Jetbrains a levé le voile sur sa feuille de route pour Kotlin : de Kotlin 1.7.0 et bien plus encore ! Certaines annonces avaient toutefois déjà été présentées lors de leur récent événement Kotlin 2021 Premier flag_lng.

On retrouve ainsi un certain nombre d'annonces majeures, dont K2 (le nouveau compilateur Kotlin) qui est en route vers sa version alpha et se veut nettement plus rapide que l'ancien compilateur. Selon les données de JetBrains, vous pouvez vous attendre à une accélération de l'ordre de 2x.

Jetbrains se concentre également sur KMM qui sortira en version bêta au printemps 2022. Autre point mis en avant par Jetbrains : le prototypage d'une solution basée sur l'introduction du nouveau concept d'espace de noms, où les membres seront naturellement compilés en membres statiques sur la JVM. Ce prototype vise à améliorer l'interopérabilité de Kotlin avec les méthodes statiques de Java et permettra des extensions sur tous les types Java.

Du côté des outils, deux nouveautés sont au rendez-vous : Kover flag_lng un plugin Gradle qui mesure la couverture du code Kotlin et Dokka (un outil de génération de documentation revisité dans sa version 1.6).

Il est aussi question de l'amélioration de l'adoption de la version du plugin Kotlin IDE. Enfin, le petit dernier de la feuille de route qui retiendra notre attention dans Kotlin Playground : la synchronisation de la saisie entre les appareils, l'ouverture de multiples onglets, l'exportation des fichiers et surtout l'utilisation avec les appareils mobiles !

Image Google exigerait que les nouveaux appareils Android TV prennent en charge le décodage vidéo AV1

Nous vous en parlions dans la newsletter précédente, autour des améliorations du multimédia d'Android 12. Le support du format AV1 est désormais disponible au niveau du système : un codec vidéo permettant de réduire la taille des fichiers tout en conservant une qualité satisfaisante.

Pour que l'adoption d'AV1 puisse se généraliser, il faut que davantage d'appareils soient équipés du matériel nécessaire afin de lire le codec. À cette fin, Google exige que tous les nouveaux appareils Android TV lancés après le 31 mars 2021 prennent en charge le décodage vidéo AV1. YouTube encourage aussi la prise en charge de l'AV1 pour des diffusions futures flag_lng.

En parallèle, @AndroidTV_Rumor et Protocol ont tous deux mentionné l'exigence de Google de supporter AV1 en octobre de l'année passée, mais aujourd'hui, l'équipe de XDA a fourni une confirmation et un peu de contexte supplémentaire.

Image Un zoom sur la connectivité sur Android 12 !

Nous l'avons déjà vu, Android 12 introduit de nouvelles fonctionnalités et APIs pour les développeurs. Les différentes thématiques sont : l'expérience utilisateur, la sécurité & la vie privée, le multimédia (graphismes, images…), la connectivité et enfin le stockage des données. Pour faire suite aux dernières éditions, nous abordons aujourd'hui la connectivité.

Partie 4 : le connectivité
Légende : pour la liste des fonctionnalités, nous avons classé les éléments en deux catégories :

🏅 pour les consulter au plus vite et à l'inverse ☕ si vous avez le temps entre deux builds (coucou mon cher Gradle).

Image 🏅 Connexion simultanée Peer-to-Peer et Internet

À partir d'Android 12, les appareils qui prennent en charge les connexions de type peer-to-peer et Internet pourront maintenir les deux connexions en parallèle. En d'autres termes, votre téléphone ne devrait plus être déconnecté de votre Wi-Fi lors de la configuration d'un nouvel appareil pour votre maison connectée. Cette fonctionnalité ne sera activée que pour les applications ciblant les APIs 31+. Celles ciblant des versions antérieures d'Android ne pourront pas en tirer parti et seront donc soumises à l'ancien comportement. Cela signifie donc que votre appareil sera déconnecté de votre réseau Wi-Fi avant de se connecter à un dispositif de type peer-to-peer.

Enfin Google recommande d'abandonner l'API WiFiManager.getConnectionInfo() et d'utiliser plutôt l'API NetworkCallback.onCapabilitiesChanged()**. La première a été dépréciée dans Android 12 et les nouvelles fonctionnalités, comme la possibilité de masquer les données sensibles à la localisation, ne seront plus prises en charge par cette API.

Image ☕ Améliorations du Wi-Fi Aware (NAN)

Sur les appareils fonctionnant sous Android 12 et plus, les développeurs peuvent appeler onServiceLost() pour être alerté lorsque votre application a perdu l'accès à un service découvert (service coupé ou d'un déplacement vers une zone hors de portée).

Pour éviter que le framework ne rejette les demandes de découverte ou de connexion en raison d'un manque de ressources, sur les appareils fonctionnant sous Android 12 et plus, vous pouvez appeler WifiAwareManager.getAvailableAwareResources(). La valeur de retour de cette méthode vous permet d'obtenir le nombre de chemins de données disponibles, le nombre de sessions de publication disponibles ou encore le nombre de sessions d'abonnement disponibles.

Quelques actualités supplémentaires

😆 Google a entendu dire que vous aimiez Android 12 et vous permet de le télécharger… une nouvelle fois flag_lng !

🕸 Google apporte un nouveau guide de confidentialité sur Chrome pour Android flag_lng.

🛎 Les Insiders Windows 11 flag_lng du canal Dev peuvent désormais tester les applications Android.

📱 Le Google Pixel 2 XL obtient la première ROM personnalisée basée sur Android 12 flag_lng.

ℹ Un code suggère que la fonction Dynamic Color d'Android 12, permettant l'extraction des couleurs du fond d'écran, sera prochainement disponible flag_lng sur les terminaux OnePlus et chez d'autres constructeurs.

⛓️ Lorsque vous utilisez Gradle pour créer votre projet, la fonction de chaîne d'outils JVM de Gradle facilite le maintien d'un processus de génération fiable et reproductible. Le plugin Kotlin prend désormais en charge cette fonctionnalité également ! flag_lng

🍻 Gradle 7.3 est disponible ! flag_lng

💻 Vous pouvez maintenant exécuter Android 12 sur un Raspberry Pi 4 flag_lng

Articles & tutoriaux Android

Bibliothèques et outils

Image Outil kotlinx-kover

kotlinx-kover : Kover : un nouveau plugin de Kotlin pour **la couverture de code**

Kover peut être utilisé pour le code généré par le compilateur Kotlin/JVM. L'outil peut être utilisé en tant que tâche Gradle, localement sur la machine d'un développeur ou intégré dans une pipeline CI. Il fonctionne également avec Kotlin Multiplatform et se veut compatible avec la bibliothèque de couverture de code Java JaCoCo.

Image Outil Dokka

Dokka : Dokka est un moteur de documentation pour Kotlin

Dokka remplit la même fonction que la Javadoc pour Java. Tout comme Kotlin lui-même, Dokka prend entièrement en charge les projets Java/Kotlin en langage mixte. Il comprend les commentaires Javadoc standard dans les fichiers Java et les commentaires KDoc dans les fichiers Kotlin. Dokka peut également générer de la documentation dans plusieurs formats, y compris Javadoc standard, HTML et Markdown.

Image Outil Qodana

Qodana : Qodana est un analyseur statique pour les projets Kotlin

La communauté Kotlin accueillera avec enthousiasme Qodana qui prend également en charge d'autres languages, et peut être exécuté en tant qu'outil autonome ou intégré à votre pipeline CI. De plus, il peut être intégré à GitHub Actions et peut utiliser des linters tiers.

Prochains évènements

25
novembre

En ligne

FRAUG
App-Clinic #2

30
novembre

En ligne

UnoConf 2021

01-02
décembre

Paris

Kotlin KODERS 2021
Votre avis sur ce numéro
😍😆🙄😡👍👎