Après enquête, j'ai découvert qu'il ne s'agissait pas d'un incident isolé. Google avait déjà licencié une partie de l'équipe Fuchsia l'année dernière, qui construit ce système d'exploitation natif de Flutter. Cela m'amène à penser que ces actions font partie d'une stratégie planifiée.
À la lumière de ces événements récents et de la tendance émergente, je me trouve de plus en plus incertain quant à l'avenir de Flutter. Permettez-moi de partager mon point de vue, en commençant par les raisons pour lesquelles Flutter a émergé en premier lieu.
1. Flutter était probablement le plan de secours de Google
En 2010, Oracle a intenté un procès à Google pour son utilisation de Java, en particulier dans Android. Cette bataille juridique a duré des années. Malgré le litige, Android a continué à prospérer au début des années 2010 et reste une plateforme cruciale pour Google afin d'atteindre les utilisateurs mobiles et d'étendre son influence technologique. Une défaite dans l'affaire Oracle contre Google pourrait avoir de graves répercussions pour Google dans le domaine de la téléphonie mobile.
Google a donc dû élaborer une stratégie pour réduire sa dépendance à l'égard de Java. L'adoption de Kotlin en tant que « first-class citizen » en 2017 a été une étape importante. Cette décision a permis d'assurer la continuité du développement d'Android quelle que soit l'issue du procès Oracle contre Google, sauvegardant ainsi la position de Google sur le marché mobile.
Il est clair qu'à l'époque, la décision d'élever Kotlin au rang de « first-class citizen » m'a semblé précipitée, surtout si l'on considère l'évidence de son manque de préparation dans Android Studio 3.0. J'ai souligné ces préoccupations en détail dans un article que j'ai écrit à l'époque.
S'appuyer uniquement sur Kotlin présente des risques, car il s'agit d'un langage développé par JetBrains, et non par Google. Pour atténuer ce risque, Google a cherché à établir une autre option basée sur un langage qui lui appartient pleinement.
Dès 2015, Google avait exposé des plans pour une approche sans Java du développement mobile en utilisant le langage de programmation Dart et un framework connu sous le nom de Sky, qui a ensuite évolué pour devenir Flutter. Flutter a été officiellement publié en 2017, coïncidant avec la désignation de Kotlin comme « first-class citizen » pour le développement Android. Ce mouvement stratégique de Google a fourni une solution alternative, assurant une plus grande flexibilité et un meilleur contrôle dans l'écosystème de développement Android.
De 2017 à aujourd'hui, Kotlin et Flutter ont tous deux connu un succès important à mon avis, ce qui m'amène à croire que les deux resteraient proéminents dans un avenir prévisible.
Cependant, les tendances et les incidents récents suggèrent que Google pourrait finalement donner la priorité à l'un par rapport à l'autre, en éliminant potentiellement l'option secondaire. C'est ce qui ressort des développements décrits ci-dessous.
2. Kotlin a connu plus de succès
Depuis que Kotlin a été annoncé comme le « first-class citizen » pour le développement Android, Google et JetBrains n'ont cessé de l'améliorer au point que Kotlin est devenu proéminent, représentant le summum du développement Android.
Les deux entreprises travaillent en harmonie depuis l'introduction d'Android Studio en 2013, qui est entièrement basé sur IntelliJ. Ce partenariat, qui s'étend sur plus d'une décennie, s'est avéré mutuellement bénéfique. IntelliJ a étendu Kotlin au-delà du développement Android, tandis que Google a approfondi son intégration de Kotlin pour le développement Android.
D'après les statistiques, Kotlin devance clairement Dart
Jetpack Compose et Kotlin Gradle
Du côté de Google, la domination de Kotlin dans le développement Android est devenue encore plus évidente avec l'introduction de Jetpack Compose en 2019. Ce framework, purement basé sur Kotlin, a encore solidifié le lien de Kotlin avec le développement natif d'Android.
En outre, l'environnement de construction Gradle est passé de l'utilisation de Groovy à celle de Kotlin. Par conséquent, la grande majorité de l'écosystème de développement Android tourne maintenant autour de Kotlin, cimentant son statut de « first-class citizen » évident pour le développement Android.
Kotlin multiplateforme (KMP)
JetBrains a étendu la portée de Kotlin au-delà du développement Android en ciblant le développement iOS et le développement web grâce au développement Kotlin Multiplatform.
Cette stratégie distingue Kotlin des autres frameworks de développement mobile comme React Native, Xamarin et Flutter, car il fonctionne davantage comme une plateforme que comme un framework. Contrairement à ces frameworks, Kotlin Multiplatform ne dicte pas l'ensemble de l'architecture de l'appli, mais permet d'étendre les projets iOS et Android natifs existants.
Pour garantir une intégration plus harmonieuse du framework Multiplatform dans l'environnement Android, les employés de Google ont activement contribué à son développement. Cette collaboration a facilité l'alignement du framework sur le système d'exploitation Android, simplifiant ainsi les processus de développement sur cette plateforme.
Cette flexibilité permet de passer en toute transparence d'un développement purement natif à un développement multiplateforme en fonction des besoins, ce qui permet aux développeurs d'adapter leurs projets en fonction de l'évolution de leurs exigences.
Je m'y suis personnellement plongé il y a quelque temps et j'ai remarqué son approche unique, qui le distingue des autres frameworks permettant le développement multiplateforme. J'anticipe le potentiel de Kotlin Multiplatform alors qu'il n'en est qu'à ses débuts.
3. Kotlin Multiplateforme (KMP) vs Flutter
Comme mentionné ci-dessus, Kotlin Multiplatform est en fait différent par rapport aux autres frameworks de développement mobile, il s'agit d'une plateforme et non d'un framework.
Ce n'est donc pas vraiment une comparaison des pommes avec les pommes, étant donné que Kotlin Multiplatform, dans les premiers jours, s'appuie encore beaucoup sur le développement natif, en particulier dans le domaine spécifique de l'interface utilisateur d'iOS et d'Android.
Jetpack Compose + Kotlin Multiplateforme
Cependant, ces dernières années, JetBrain a fait passer Jetpack Compose à Kotlin Multiplatform, et l'a appelé Compose Multiplatform.
Cela a permis de développer simultanément l'interface utilisateur native d'iOS et d'Android, d'étendre la plateforme vers le haut et de réduire la nécessité de travailler sur les deux plateformes.
Cette avancée en a fait un très grand concurrent pour Flutter lui-même. Bien qu'il ne soit pas créé par Google, il est en grande partie soutenu par Google.
Partager