Pequeña introducción
Después de las vacaciones (esto fue en enero), decidí trabajar un poco como desarrollador de Android a medio tiempo para combinar trabajo y estudio.
En diciembre, conocí al programador jefe de una empresa de TI con sede en Sochi.
No revelaré el nombre de la empresa con fines de secreto empresarial, ese no es el punto. La empresa es bastante joven y, por lo tanto, utiliza tecnologías más nuevas. Me sorprendió cuando me dijeron que necesitaban un desarrollador de Flutter, no Java / Kotlin.
Así conocí a Flutter.
Primeras impresiones
Estaba completamente sorprendido cuando vi por primera vez el proyecto de aplicación móvil generado en Flutter. Todo era completamente diferente al habitual desarrollo nativo de Android.
Lo primero que me llamó la atención fue un idioma completamente diferente, Dart.
Inmediatamente comencé a estudiar esta sección y descubrí que Flutter es un Framework con un estilo declarativo de escritura de UI.
Nunca he entendido este estilo de codificación. En algún momento del pasado, decidí dominar React JS, pero no pude superarlo y me rendí (principalmente debido a la estupidez y la pereza). ¿Por qué el estilo de programación declarativa? Hay uno intuitivamente imperativo: creó un objeto de botón, lo agregó a un elemento principal, etc.
Cuando me interesé en Flutter, me di cuenta y comprendí las principales ventajas de este enfoque:
Menos código
Intuitivo
Desarrollo acelerado
Energía
. .
, , 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
-
El artículo es de opinión subjetiva y, por lo tanto, puedo estar equivocado en algunos, y tal vez en todos los aspectos.
Mi principal objetivo era expresar mi humilde experiencia de desarrollo con Flutter y compartir mi opinión y algunos comentarios.
Al final, me gustaría señalar que Flutter tiene todas las circunstancias necesarias para el desarrollo futuro e incluso puede superar otros enfoques de desarrollo multiplataforma (React Native), si aún no lo ha superado.
Enlaces útiles: