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 .
Flutter - ( ).
Flutter .
provider . .
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: