Qu'est ce que Flutter

logo-flutter.png

Qu'est ce que Flutter ?

Les avantages de Flutter ?

Son développement rapide grâce à Hot Reload, son design expressif et flexible, sa grande communauté, et sa performance.

Les inconvénients de Flutter ?

Peut être complexe pour les très grands projets, nécessite une bonne compréhension de Dart et des concepts de Flutter.

Les caractéristiques de Flutter

Commun

  • Utilité (fonction) : Flutter est utilisé pour développer des applications mobiles, web et de bureau multiplateformes à partir d'une seule base de code.

  • Langue de programmation : Dart.

  • Système d‘exploitation : Multiplateforme (fonctionne sur Windows, macOS, Linux, Android, iOS, et le web).

  • Existe depuis : Flutter a été initialement publié en mai 2017 (version alpha), avec la version stable 1.0 sortie en décembre 2018.

  • Licence : BSD License.

  • Développeur : Google et la communauté open source.

  • Communauté : Grande communauté active avec de nombreux contributeurs, forums, conférences (Flutter Engage, Flutter Interact), groupes d'utilisateurs, et ressources en ligne.

  • Performance générale : Très bonne, grâce à l'utilisation de Dart, la compilation native et le moteur graphique Skia.

  • Maintenabilité : Élevée, grâce à une architecture basée sur des widgets réutilisables et une gestion claire de l'état avec des bibliothèques comme Provider et Riverpod.

  • Facilité d'apprentissage : Relativement facile pour ceux qui connaissent déjà la programmation orientée objet ; de nombreuses ressources sont disponibles pour les débutants.

  • Configuration : Utilise des fichiers Dart et des outils de gestion des packages comme pubspec.yaml pour définir les dépendances et la configuration du projet.

  • Documentation : Documentation exhaustive et officielle disponible sur le site flutter.dev, ainsi que de nombreux livres et tutoriels en ligne.

  • Alternative : Alternatives incluent React Native, Xamarin, Swift (pour iOS), et Kotlin Multiplatform Mobile (KMM).

  • On l'aime pour : Son développement rapide grâce à Hot Reload, son design expressif et flexible, sa grande communauté, et sa performance.

  • On le déteste pour : Peut être complexe pour les très grands projets, nécessite une bonne compréhension de Dart et des concepts de Flutter.

  • Fréquence de mise à jour : Mises à jour régulières avec des versions mineures tous les quelques mois et des versions majeures environ tous les ans.

  • LTS : Non, Flutter ne propose pas de versions LTS officielles, mais les mises à jour sont généralement rétrocompatibles.

  • Maturité : Relativement nouveau mais rapidement adopté et soutenu par Google et une communauté croissante.

Langage

  • Paradigme de programmation : Orienté objet, basé sur Java.

  • Deggugabilité : Excellente, avec des outils de débogage intégrés et des extensions pour les IDE.

  • Prise en charge des génériques : Oui, avec une syntaxe bien définie pour les types paramétrés en Java.

  • Exceptions vérifiées : Oui, via Java, qui supporte les exceptions vérifiées et non vérifiées.

  • Polymorphisme : Oui, via Java, à travers l'héritage, les interfaces et les méthodes abstraites.

  • Arrays : Prise en charge via Java.

  • Prise en charge de la compilation conditionnelle. : Oui, via Java.

  • Prise en charge de l'instruction Goto. : Non, Java (et donc Tomcat) n'inclut pas l'instruction goto.

  • Structure et syndicats : Prise en charge des classes et des interfaces, mais pas des unions, via Java.

  • Fait pour : Déploiement rapide et performant d'applications web Java.

  • IDE : IntelliJ IDEA, Eclipse, NetBeans.

  • Environnement d'exécution : Dart VM (Virtual Machine) pour le développement et la compilation native pour les déploiements de production.

  • Dépendance à la plate-forme : Indépendant grâce à la JVM.

  • Pointers : Non, Java n'a pas de pointeurs explicites.

  • Point flottant : Oui, via Java, prise en charge des types float et double.

  • Entreprises célèbres utilisant : Google, Alibaba, eBay, BMW, Tencent.