Comment je voulais travailler en tant que développeur Android natif, mais j'ai obtenu un emploi en tant que développeur Flutter

Petite introduction

Après les vacances (c'était en janvier), j'ai décidé de travailler un peu en tant que développeur Android à mi-temps afin de combiner travail et études.





En décembre, j'ai rencontré le programmeur en chef d'une société informatique basée à Sotchi.





Je ne divulguerai pas le nom de l'entreprise à des fins de secret d'entreprise, ce n'est pas le but. L'entreprise est assez jeune et utilise donc des technologies plus récentes. J'ai été surpris quand on m'a dit qu'ils avaient besoin d'un développeur Flutter, pas de Java / Kotlin.





C'est comme ça que j'ai connu Flutter.





Premières impressions

J'ai été complètement surpris quand j'ai vu pour la première fois le projet d'application mobile généré dans Flutter. Tout était complètement différent du développement Android natif habituel.





La première chose qui a attiré mon attention était une langue complètement différente, Dart.





J'ai immédiatement commencé à étudier cette section et j'ai découvert que Flutter est un Framework avec un style déclaratif d'écriture d'interface utilisateur.





Je n'ai jamais compris ce style de codage. Dans le passé, j'ai décidé de maîtriser React JS, mais je ne pouvais pas m'en remettre et j'ai abandonné (principalement à cause de la stupidité et de la paresse). Pourquoi un style de programmation déclaratif? Il y en a un intuitivement impératif: créer un objet bouton, l'ajouter à un élément parent, etc.





Lorsque je me suis intéressé à Flutter, j'ai réalisé et compris les principaux avantages de cette approche:





  • Moins de code





  • Intuitif





  • Développement accéléré





  • Pouvoir





. .





, , UI , Android Studio:





Scaffold(    
  appBar: AppBar(    
    title: Text("Counter App"),    
  ),    
  body: Center(child: Column(    
    mainAxisAlignment: MainAxisAlignment.center,    
    children: [
      Text("You have pushed the button this many times: "),
      SizedBox(height: 10),  
      Text("$counter",
           style: Theme.of(context).textTheme.headline4,    
      )
    ],    
  ),),
  floatingActionButton: FloatingActionButton(    
    onPressed: () { setState(() => counter = counter + 1); },
    child: Icon(Icons.add),    
  ),
);
      
      



: , )))





: , - , UI





: . UI .





, Dart : , , UI .





. Flutter , , Java / Kotlin - 100% ( ).





, , : , .





flutter.dev, .





, sqlite Android iOS - sqflite.





, (pub-) pubspec.yaml, build.gradle (Android).





Dart ( Flutter) pub.dev





, Flutter Android iOS, .





C .





Dart. , Dart Tour





, - , UI (, ..). : , ..





Thread' (Java), Coroutines (Kotlin) Android





Flutter , :





fun getArticles() async {
  final response = await http.get("https://xxx.ru/rest/getArticles");
  final List<Article> articles = decodeArticles(response.body);
	setState(() {
    this.articles = articles;
  });
}
      
      



Flutter , setState



.





setState



(Dart ) , .





setState



: , , Flutter . ( , Flutter , , , ).





Flutter - .





: flutter.dev





Flutter .





Flutter - ( ).





Flutter .





provider . .





Google Play Apple Store





Flutter

, Flutter - framework , , React Native .





Flutter.





Flutter :





  • UI framework, . Android , .. View ;





  • - .. Flutter , iOS Android, , :)





  • ,





  • - Flutter , pub-, ). Flutter , Flutter Engage 2021





Flutter:





  • - , Flutter









  • -









L'article est d'une opinion subjective et donc je peux me tromper à certains, et peut-être à tous les égards.





Mon objectif principal était d'exprimer mon humble expérience de développement avec Flutter et de partager mon avis et quelques commentaires.





En fin de compte, je voudrais noter que Flutter a toutes les circonstances nécessaires pour un développement futur et peut même dépasser d'autres approches de développement multiplateforme (React Native), s'il n'est pas encore dépassé.





Liens utiles:





  • Flutter pour les développeurs Android





  • flutter.dev





  • pub.dev





  • Plugin SQLite pour Android, IOS





  • Tour de fléchettes





  • Flutter Engage 2021





  • Gestion de l'état





  • Lien vers l'application dans Google Play et Apple Store








All Articles