Introduction Flutter Dart
Introduction Flutter Dart
Introduction Flutter Dart
Il permet de développer des applications mobiles pour Android et iOS, des applications web,
et des applications de bureau pour Windows, macOS, et Linux.
Flutter utilise le langage Dart mais peut aussi intégrer d’autres langages de programmation
comme par exemple:
Swift
Java
Kotlin
L’ajout de ces langages permet de personnaliser le code pour une plateforme spécifique.
Flutter multiplateforme
Flutter permet de créer des applications qui fonctionnent sur différentes plateformes avec
une seule base de code.
Cela réduit le temps et les efforts nécessaires pour développer et maintenir des applications
pour:
Android
iOS
web
Desktop
La seule chose que vous aurez à faire est de légèrement adapter UI et un peu de code pour
satisfaire aux exigences des différentes plateformes. Plus besoin de repartir d’une page
blanche pour déployer son application sur un nouveau support.
Tout est Widget
Dans l'univers de Flutter, un mot revient sans cesse. Et d’ailleurs, nous allons souvent
l’évoquer. Il s’agit des widgets.
Ce sont les éléments fondateurs qui permettent de construire des interfaces utilisateur (UI)
riches et interactives.
Ils représentent les briques élémentaires avec lesquelles vous assemblez vos applications,
comme des blocs Lego.
Flutter propose une large variété de widgets, chacun avec ses propres caractéristiques et
fonctionnalités. On peut les classer en deux grandes catégories :
Widgets de base : Les widgets de base sont les éléments fondamentaux de l'interface
utilisateur, tels que les boutons, les textes, les images, les conteneurs et les icônes. Ils
fournissent les éléments structurels et visuels de base de votre application.
Widgets avancés : Les widgets avancés offrent des fonctionnalités plus complexes,
permettant de créer des interfaces utilisateur plus interactives et dynamiques. Parmi les
exemples, on trouve les listes déroulantes, les cartes, les formulaires, les animations et
les transitions.
Les propriétés des Widgets
Chaque widget possède un ensemble de propriétés qui définissent son apparence et son
comportement.
Ces propriétés peuvent être personnalisées pour adapter le widget à vos besoins
spécifiques.
Un widget parent peut contenir un ou plusieurs widgets enfants, créant ainsi une structure
arborescente qui représente l'interface utilisateur complète de votre application. Cette
approche hiérarchique facilite la construction d'interfaces utilisateur complexes et
organisées.
La plupart du temps, les Widgets ne pourront accueillir qu’un seul enfant (child). Cependant,
certains Widgets comme les colonnes, les lignes ou encore les listes, spécifiques à la mise en
page pourront accueillir plusieurs enfants (children) .
Des performances natives
Comment Flutter parvient-il à offrir des performances natives sur Android et iOS, tout
en utilisant une base de code unique ?
1. Flutter possède son propre moteur de rendu: Skia. Il utilise des techniques de rendu
(Vulkan et Metal) exploitées nativement par Android et iOS. Cela permet de contourner les
limitations des frameworks web traditionnels.
2. Lorsque vous compilez une application Flutter, le code Dart est transformé en code natif
pour la plateforme cible (Android ou iOS). Ce qui garantit que l'application s'exécute
directement sur l'appareil, sans passer par des interpréteurs ou des machines virtuelles.
3.Flutter propose un ensemble de widgets optimisés pour les performances, construits à
l'aide de primitives graphiques natives. Flutter utilise un système de déclaration impérative
permettant de prédire précisément la disposition des éléments à l'écran.
4. Flutter tire parti de l'architecture native d'Android et d'iOS pour optimiser les
performances. Il accède aux fonctionnalités natives des appareils, telles que le processeur, la
mémoire et le capteur, de manière efficace, garantissant une expérience utilisateur fluide et
réactive.
Histoire de Flutter
2015 : Naissance d'une idée
L'aventure Flutter commence en 2015 lors d'une conférence interne chez Google. Des
ingénieurs et des chercheurs explorent des moyens de créer des applications mobiles avec
des performances natives et une interface utilisateur fluide, tout en tirant parti du langage
de programmation Dart, créé par Google en 2011.
Dart est un langage de programmation développé par Google, principalement utilisé pour
développer des applications mobiles, web, et côté serveur. C’est le langage que nous allons
utiliser pour concevoir des applications avec Flutter
Il est conçu pour être simple à apprendre et à utiliser, tout en étant très performant.
C’est un langage de programmation orienté objet qui se veut facile à apprendre, lisible et
sûr.
Dart a été créé en 2011 par Lars Bak et Kasper Lund, deux ingénieurs de Google. Depuis, il a
gagné en popularité et est utilisé par une communauté croissante de développeurs dans le
monde entier.
Dart en quelques points clés
1. Polyvalence : Dart permet de créer des applications pour une large gamme de plateformes, ce
qui le rend idéal pour les développeurs qui souhaitent créer des solutions logicielles unifiées.
2. Facilité d'apprentissage : La syntaxe de Dart est simple et lisible, s'inspirant de langages
comme C++ et Java, ce qui le rend accessible aux débutants.
3. Performances : Dart peut être compilé en code natif pour les plateformes mobiles et de
bureau, ou en JavaScript pour le web, garantissant des performances optimales sur chaque
appareil.
4. Fiabilité : Le système de typage statique de Dart et sa gestion automatique de la mémoire
permettent d'écrire du code robuste et moins sujet aux erreurs.
5. Outils et bibliothèques riches : Dart dispose d'un écosystème complet d'outils et de
bibliothèques open source pour faciliter le développement d'applications web, mobiles et de
bureau.
6. Utilisations concrètes : Dart est utilisé par de nombreuses entreprises et organisations
reconnues, telles que Google,New York Times, et GROUPON pour créer des applications
performantes et évolutives.
Histoire de Dart
2009 : Les prémices
L'histoire de Dart commence en 2009 au sein de Google, lorsque des ingénieurs et des chercheurs
entament des réflexions sur la création d'un nouveau langage de programmation. L'objectif est de
concevoir un langage plus moderne, performant et adapté aux besoins du développement web et
mobile, tout en tirant parti de l'expérience acquise avec Java et JavaScript.
1. Développement Multiplateforme
Flutter permet de créer des applications qui fonctionnent sur Android, iOS, web, Windows, macOS
et Linux à partir d'une seule base de code.
Cela réduit considérablement le temps et les efforts nécessaires pour développer et maintenir
des applications sur plusieurs plateformes.
7 raisons de choisir Flutter
2. Hot Reload
L'une des fonctionnalités les plus appréciées des développeurs Flutter est le "hot reload", qui
permet aux développeurs de voir instantanément les changements de code dans l'application
sans avoir à redémarrer celle-ci.
Vous voyez ainsi quasiment en temps réel les changements que vous apportez.
7 raisons de choisir Flutter
Flutter propose un ensemble complet de widgets personnalisables pour construire des interfaces
utilisateur modernes et attrayantes.
Vous pouvez créer des interfaces utilisateur complexes avec des animations fluides et des effets
visuels époustouflants.
7 raisons de choisir Flutter
4. Performance native
Flutter offre des performances natives sur Android et iOS grâce à son moteur de rendu Skia et à la
compilation en code natif.
Cela garantit des applications fluides et réactives, indistinguables des applications développées
nativement sur chaque plateforme.
7 raisons de choisir Flutter
5. Grande Communauté et Support de Google
Flutter est soutenu par Google et bénéficie d'une communauté active de développeurs. Il y a de
nombreuses ressources disponibles pour apprendre Flutter, y compris des documentations
officielles, des tutoriels, des vidéos, et des forums de discussion.
Le soutien de Google garantit également des mises à jour régulières et des améliorations
continues.
D’ailleurs, si vous avez regardé les dernières GoogleI/O, avez-vous entendu les acclamations du
public lorsque Flutter était évoqué?
7 raisons de choisir Flutter
6. Simplicité d'apprentissage :
La syntaxe de Dart est claire et intuitive, s'inspirant de langages populaires comme C++ et Java, la
rendant accessible aux débutants.
Seule la partie configuration de Flutter sur votre machine peut être complexe à appréhender pour
une personne ne sachant pas forcément utiliser le terminal.
7 raisons de choisir Flutter
Flutter permet de créer des interfaces utilisateur qui ont un design et une expérience utilisateur
cohérents sur toutes les plateformes. Grâce à ses widgets, Flutter peut imiter les éléments de
design spécifiques à chaque plateforme (Material Design pour Android et Cupertino pour iOS),
tout en permettant des personnalisations poussées pour s'adapter à la marque ou aux besoins
spécifiques de l'application.