Como eu queria trabalhar como desenvolvedor Android nativo, mas consegui um emprego como desenvolvedor Flutter

Pequena introdução

Depois do feriado (isso foi em janeiro), decidi trabalhar um pouco como desenvolvedor Android em regime de meio expediente para conciliar trabalho e estudo.





Em dezembro, conheci o programador-chefe de uma empresa de TI com sede em Sochi.





Não vou divulgar o nome da empresa para fins de sigilo corporativo, esse não é o ponto. A empresa é bastante jovem e, portanto, usa tecnologias mais recentes. Fiquei surpreso quando soube que eles precisavam de um desenvolvedor Flutter, não Java / Kotlin.





Foi assim que conheci o Flutter.





Primeiras impressões

Fiquei completamente surpreso quando vi pela primeira vez o projeto de aplicativo móvel gerado no Flutter. Tudo era completamente diferente do desenvolvimento normal do Android nativo.





A primeira coisa que chamou minha atenção foi uma linguagem completamente diferente, Dart.





Imediatamente comecei a estudar esta seção e descobri que Flutter é um Framework com um estilo declarativo de escrita de IU.





Nunca entendi esse estilo de codificação. Em algum momento no passado, decidi dominar o React JS, mas não consegui superar e desisti (principalmente por estupidez e preguiça). Por que estilo de programação declarativo? Existe um ponto intuitivamente imperativo: criar um objeto de botão, adicioná-lo a um elemento pai, etc.





Quando me interessei pelo Flutter, percebi e entendi as principais vantagens dessa abordagem:





  • Menos código





  • Intuitivo





  • Desenvolvimento acelerado





  • Poder





. .





, , 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









  • -









O artigo é de opinião subjetiva e, portanto, posso estar errado em alguns, e talvez em todos os aspectos.





Meu principal objetivo era expressar minha humilde experiência de desenvolvimento com o Flutter e compartilhar minha opinião e alguns comentários.





No final, gostaria de observar que o Flutter tem todas as circunstâncias necessárias para o desenvolvimento futuro e pode até superar outras abordagens de desenvolvimento de plataforma cruzada (React Native), se ainda não superou.





Links Úteis:





  • Flutter para desenvolvedores Android





  • flutter.dev





  • pub.dev





  • Plug-in SQLite para Android, IOS





  • Dart Tour





  • Flutter Engage 2021





  • Gestão do estado





  • Link para o aplicativo no Google Play e Apple Store








All Articles