Flutter es el SDK móvil de Google para crear aplicaciones nativas de iOS y Android, de escritorio (Windows, Linux, macOS) y web a partir de una única base de código. Al crear aplicaciones con Flutter, todo apunta a Widgets: los bloques con los que se crean las aplicaciones de Flutter. Son elementos estructurales que se envían con un montón de funcionalidades específicas de diseño de materiales y también se pueden componer nuevos widgets a partir de los existentes. El proceso de componer widgets juntos se llama composición. La interfaz de usuario de la aplicación se compone de muchos widgets simples, cada uno de los cuales maneja un trabajo en particular. Esa es la razón por la que los desarrolladores de Flutter tienden a pensar en su aplicación Flutter como un árbol de widgets.
Tipos de widgets:
- Widgets sin estado
- Widgets con estado
Flutter, Dart y tecnologías equivalentes
En primer lugar, establezcamos las diferencias principales entre Flutter y React Native.
Aleteo | reaccionar nativo |
---|---|
Lanzamiento inicial en 2017 | Lanzamiento inicial en 2015 |
Basado en dardo | Basado en React Js |
Controla cada píxel de la pantalla | Controles a través de los componentes móviles nativos |
Multiplataforma (Móvil, Web, Escritorio) | Multiplataforma (Móvil, React Native Web) |
Desarrollado por Google | Desarrollado por Facebook |
Versión actual 3.0.1 | Versión actual 0.68 |
El rendimiento de la aplicación es mayor. Flutter Animación de 60 fps o 120 fps. Flutter mismo pinta y controla cada píxel en la pantalla | Alto. Requiere el puente de JavaScript para interactuar con los componentes nativos. |
Flutter es el marco de rápido crecimiento para el desarrollo multiplataforma. El apoyo de la comunidad para flutter es asombroso, con más de 11100 estrellas de Github, 15000 bifurcaciones y más de 41000 problemas cerrados, es líder en la industria. | El soporte de la comunidad para React Native también es bueno, pero no está creciendo tan rápido como Flutter. Tiene más de 9300 estrellas Github, 20000 bifurcaciones y más de 19700 problemas cerrados. |
,
Dart
// Importing important packages require to connect // Flutter and Dart import 'package:flutter/material.dart'; // Main Function void main() { // Giving command to runApp() to run the app. /* The purpose of the runApp() function is to attach the given widget to the screen. */ runApp(const MyApp()); } // Widget is used to create UI in flutter framework. /* StatelessWidget is a widget, which does not maintain any state of the widget. */ /* MyApp extends StatelessWidget and overrides its build method. */ class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( // title of the application title: 'Hello World Demo Application', // theme of the widget theme: ThemeData( primarySwatch: Colors.lightGreen, ), // Inner UI of the application home: const MyHomePage(title: 'Home page'), ); } } /* This class is similar to MyApp instead it returns Scaffold Widget */ class MyHomePage extends StatelessWidget { const MyHomePage({Key? key, required this.title}) : super(key: key); final String title; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(title), ), // Sets the content to the // center of the application page body: const Center( // Sets the content of the Application child: Text( 'Welcome to GeeksForGeeks!', )), ); } }
Producción
Y, el mayor punto de venta de Flutter Tech son dos cosas:
- Aplicación de alto rendimiento : las aplicaciones desarrolladas con Flutter son muy expresivas y tienen una interfaz de usuario flexible. Su rápido desarrollo debido a la recarga en caliente le da vida a la aplicación y su expresividad proporciona funciones que son muy apreciadas por las experiencias nativas del usuario final.
- Interfaz de usuario expresiva y flexible: Flutter permite a los desarrolladores crear aplicaciones atractivas con facilidad mediante el uso de widgets de materiales preconstruidos. Aunque muchos widgets están preconstruidos, flutter permite una personalización completa del widget.
- Desarrollo rápido y recarga en caliente: la recarga en caliente se refiere a la inyección de nuevas versiones de los archivos que editó en tiempo de ejecución mientras mantiene la aplicación en ejecución.
Los pros y los contras de Flutter:
Ventajas:
- Flutter utiliza una base de código única, llamada Dart para ambas plataformas, Android e iOS, que es un lenguaje simple que garantiza la seguridad de tipos.
- Tanto el lenguaje como la comunidad de Flutter se están desarrollando a gran velocidad, lanzando nuevas funciones, widgets y complementos.
- Flutter tiene su propio conjunto de widgets en lugar de utilizar los widgets proporcionados por el sistema operativo host, lo que significa que el usuario proporciona su propio modelo de reconocimiento de gestos, por lo que tiene un mayor control sobre la representación o personalización precisa de los widgets.
- La recarga en caliente es un cambio de juego en la productividad del proceso de desarrollo. Da un efecto animado a la aplicación en desarrollo, lo que hace que todo el ciclo de desarrollo sea más emocionante para el desarrollador de UI/UX que usa Flutter.
- Flutter no está vinculado a la ROM ni al sistema de widgets. Por lo tanto, mejora su portabilidad en una amplia gama de versiones de Android y, por lo tanto, reduce sus dependencias en la plataforma host.
- Dart y Flutter se unen estrechamente para optimizar Dart Virtual Machine (VM) para aquellos móviles que Flutter necesita específicamente.
- Flutter es un jugador establecido en el campo del desarrollo de aplicaciones multiplataforma con un increíble apoyo de la comunidad.
Contras:
- En realidad, no hay contras para flutter porque no hay ningún otro marco tan efectivo y elaborado como flutter. Aunque si tuviéramos que enumerar alguno, estaría relacionado con el lenguaje de programación Dart, ya que al convertir Dart a JavaScript hay algunos errores que corregir, Dart no tiene un marco para el backend, etc.
Publicación traducida automáticamente
Artículo escrito por Priyankasaggu11929 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA