Dart 3: Más allá de Flutter. De principiante a experto
Fundamentos de Dart. Future y Stream. HTTP. Sockets. Web Scraping. Herramientas .CLI. Dart en el servidor. AWS AppRunner
Description
Dart 3: más allá de Flutter es un intento de resumir en el menor tiempo posible como funciona el lenguaje de programación Dart.
¿Por qué Dart?
Actualmente existen diversas tecnologías que permiten el desarrollo de aplicaciones Cross-Platform, como pueden ser React Native, Xamarin, Ionic y Flutter. De todas ellas, la tecnología preferida de los desarrolladores es Flutter, según la encuesta de 2022 realizada por StackOverflow.
Esto no es de extrañar, ya que Flutter está basado en Dart, el cual ofrece una experiencia desarrollo superior a la que ofrece JavaScript / TypeScript. Dart es un lenguaje fuertemente tipado, pero que nos da la flexibilidad suficiente para que sea dinámico. Además, cuenta con una comunidad fuerte detrás, que junto con el carácter open source asegura un desarrollo continuo.
Con Flutter, podemos crear aplicaciones prácticamente para cualquier tipo de sistema: Android, iOS, Desktop y Web. Por tanto, dada la gran versatilidad que ofrece el Framework, es esencial conocer profundamente Dart, el lenguaje de programación que utiliza Flutter. Con Dart podremos crear cualquier tipo de aplicación y dar soporte a diferentes formatos. Esta es la principal motivación que me ha llevado a construir este curso: ofrecer el conocimiento necesario para tener éxito en el desarrollo de aplicaciones con Flutter.
Contenido del curso
Instalación del SDK de Flutter y Visual Studio Code.
Fundamentos de Dart. Variables. Tipos. Operaciones matemáticas. Métodos de String. Final. Const. Parseo de datos. Null Safety.
Estructuras de control de flujo. if. else. else if. Switch. Ejecución de un programa de Dart por la línea de comandos.
Bucles. For. While. Do While. Continue. Break. Shadowing.
Funciones. Parámetros opcionales. Parámetros required. High Order Functions. Closures. Paso por valor.
Colecciones. Referencia a Objetos .Listas. Mapas. Métodos de colecciones.
Programación Orientada a Objetos. Clases. Constructores. Static. Métodos. Herencia. Modificadores de clase de Dart 3. Operador Cascada. Extension. Mixin. Enum.
Dart 3. Records. Pattern Matching. Desestructuración. Enhanced for-in. Estructuras if-case.
Genéricos. ¿Qué son los genéricos? ¿Cómo utilizarlos? Herencia en Genéricos.
Manejo de Excepciones
Future. Event Loop. Async/await.
Manejo de Archivos I (Future based)
Streams. StreamController. StreamSink. StreamSubscription. Métodos de Stream.
Manejo de Archivos II (Stream based).
Sockets. UDP y TCP. Demo de como utilizar UDP para envío de mensajes sin necesidad de conexión en Flutter dentro de red local.
HTTP (I). Rest API requests. Serialización de JSON en Objetos. QuickType. Dart Data Class Generator. Peticiones GET a archivos binarios. Headers. Auth. API KEY.
HTTP (II). Web Scraping. Parseo de documentos HTML. Extracción de información de Interés.
Conexión de Dart con MySQL. Continuación proyecto de Web Scraping.
Isolates. Concurrencia en Dart. Envío de mensajes entre Isolates. Incremento de la performance de una app mediante procesos paralelos. Continuación del proyecto de Web Scraping.
Command Line Interface. Crear herramientas de línea de comando con Dart. Creación de CLI para web scraping.
Testing.
Dart en el servidor. Crear un backend utilizando Dart como lenguaje. Dart Frog.
Despliegue en AWS. Desplegaremos la REST API en Amazon Web Services (AWS) utilizando el servicio de App Runner.
What You Will Learn!
- Instalación de Flutter (y Dart). Aprender las bases del lenguaje de programación Dart
- Tipos de datos, final, const, var , Métodos, Bucles, Control de flujo, Programación Orientada a Objetos, Colecciones
- Future API, Stream API, File API, HTTP requests, Sockets, Isolates
- Bases de Datos, Docker, testing
- Herramientas para la construcción de aplicaciones de línea de comandos (CLI)
- Web Scraping. Parseo de documentos HTML. Extracción de Datos de HTML
- Dart en el servidor: Dart Frog
- Despliegue en AWS App Runner
Who Should Attend!
- Principiante en Dart, Conocimiento medio o usuarios más avanzados
- Personas que deseen dominar Dart antes de aprender Flutter
- Personas que flojean en las bases de Dart y quieren mejorar en él para trabajar mejor con Flutter
- Gente que quiera entender correctamente como funciona Dart para aplicarlo al desarrollo de apps con Flutter
- Ofrecemos la construcción de una REST API con Dart y el despliegue en AWS