Cómo quería trabajar como desarrollador nativo de Android, pero conseguí un trabajo como desarrollador de Flutter

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









  • -









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:





  • Flutter para desarrolladores de Android





  • flutter.dev





  • pub.dev





  • Complemento SQLite para Android, IOS





  • Tour de dardos





  • Flutter Engage 2021





  • Administración del Estado





  • Enlace a la aplicación en Google Play y Apple Store








All Articles