Connaissez-vous Flutter, Fuchsia et Magenta de Google ? Si vous développez sous Android (et/ou iOS), cela va probablement vous intéresser ! Flutter est un projet open source de Google permettant de créer et déployer facilement des applications mobiles multi-plateformes de haute performance, à la fois sur Android et iOS. Google a récemment annoncé que son nouveau framework fonctionnera aussi avec son nouveau système d’exploitation Fuchsia.
Fuchsia: le nouvel OS de Google
Pour rappel, contrairement aux précédents systèmes d’exploitation développés par Google tels que Chrome OS et Android, qui sont basés sur le noyau Linux, Fuchsia est basé sur un nouveau micro-noyau appelé Magenta, dérivé de Little Kernel (LK), qui a été conçu pour les systèmes embarqués et qui est principalement écrit en C. D’ailleurs, l’interface graphique de Magenta au nom de code Armadillo a été conçue à partir du SDK Flutter.
Voici une petite démo de l’interface :
Fuchsia est conçu pour fonctionner sur une multitude d’appareils, y compris les téléphones mobiles et les ordinateurs personnels. La première version est sortie en Août 2016, mais il faudra probablement attendre 2020 pour que le système soit véritablement utilisé sur nos smartphones et tablettes.
Flutter
Quelles sont les caractéristiques intéressantes de Flutter ?
-
Son architecture est presque similaire à celle de React (non pas ReactOS le clone open source de windows, mais le langage)
-
Il est basé sur Dart, un langage de programmation très facile à apprendre si vous connaissez déjà Java ou JavaScript. Mais aussi sur C et C++ (framework graphique sous-jacent et la machine virtuelle Dart)
-
Il possède sa propre bibliothèque de widgets UI (contrairement à React), composants dessinés à l’aide des primitives graphiques de bas niveau des différentes plateformes. Le tout repose sur Skia, un moteur de rendu 2D.
-
Les UI sont codées dans le même langage que le reste de l’application (pas de fichier descriptif XML)
A noter également que Flutter peut être utilisé à l’intérieur des applications natives Android et iOS existantes. Sur Android, le code C/C++ est compilé avec le kit de développement natif (NDK) Android. La machine virtuelle Dart génère alors un code natif compilé à la volée. Sur iOS, le code est traduit en code natif avec LLVM par compilation anticipée.
Si vous voulez en savoir plus sur l’interface de rendu de Flutter, vous avez ce TechTalks de Google qui date de mai 2016 :
Si vous avez d’autres questions, vous pouvez consulter la FAQ qui est assez complète (ainsi que son API). Vous pouvez aussi vous rendre ici pour commencer rapidement votre première appli.
Voici un retour d’expérience après 6 mois d’utilisation de Flutter pour certaines de nos applications mobiles : https://www.fidelisa.com/2018/03/02/flutter/