Curso y Libro Flutter desde cero creando mas de 10 proyectos

Video thumbnail

 

Tambien tengo recursos gratuitos para el Curso en el Blog

Es importante mencionar, que el curso tambien tiene el formato en libro con el 100% del contenido del mismo, es decir, el curso es equivalente al libro.

 

En este curso vas a aprender Flutter y Dart desde cero, no requieres conocimientos previos pero sí es importante que sepas programar en cualquier cosa para tomar este curso.

Este es un curso progresivo, por lo tanto vamos a ir de a poco, entre lo más básico hasta cosas más complicadas; pero, antes de entrar en detalle.

 

 

 

¿Qué es Flutter?

Flutter es por una parte un framework y por otra parte una SDK, que fue desarrollada por la propia Google para desarrollar aplicaciones nativas para Android e iOS basados en los principios del Material Design impulsado por Google para su ecosistema de aplicaciones y adoptada por Android desde la versión 5.

  • Porqué es Flutter importante para ti

    Aunque, es importante notar que Flutter está en constante crecimiento, al igual que mi curso :), va incorporando nuevas funcionalidades e ir extendiéndose hacia otras plataformas, como lo es el Web, y app de escritorios también; por lo tanto, con un proyecto base, puedes desarrollar para un montón de plataformas.

    Además de que el desarrollo en Flutter, al ser modular como vamos a ver en el curso, nos permiten desarrollar rápidamente aplicaciones si lo comparamos con el viejo esquema de desarrollo con Android Studio con Kotlin o Xcode con Swift empleando las herramientas oficiales.

    Es multiplataforma, por lo tanto puedes desarrollar tus apps en Windows, Linux o Mac aunque solamente este último está disponible el desarrollo de la app para iOS.

  • El curso está estructurado para ir creando proyectos y más proyectos

    Crearemos múltiples proyectos desde los más bases para ir conociendo los elementos bases de Flutter hasta conocer características más avanzadas del Framework, como puedes ver en algunos de los proyectos principales en pantalla.

    Términos como widgets, patrón bloc, singletons, base de datos con Sembast, Firebase, SQlite, peticiones http, CRUDs, diálogos, preferencias de usuario, forms, Streams, Futures, navs, Redux y mucho + todos estos elementos y más los abordaremos en el curso desarrollando múltiples aplicaciones entiéndase proyectos.

  • Aprende sobre Flutter

    El curso es bastante sencillo de seguir, en las primeras secciones hablaremos sobre aspectos generales del curso y dar los primeros pasos con Dart, conocer su sintaxis, así como los elementos básicos de cualquier lenguaje de programación como las variables, ciclos, condicionales, clases entre otros; para luego pasar al siguiente bloque que consiste en crear las aplicaciones en Flutter y conocer aspectos básicos sobre el Framework; entre los más importantes tenemos.

    1. Instalación de las herramientas necesarias.
    2. Crear nuestras primeras apps y conocer los primeros widgets fundamentales para cualquier aplicación.
    3. Conocer los estados en Flutter para actualizar la data en pantalla.
    4. Guardar los datos de manera local y persistente.
    5. Empezar a trabajar con procesos asíncronos con los Stream.
    6. Navegación básica entre pantallas.
    7. Enviar y consumir peticiones HTTP a un servicio aparte.
    8. Creación de listados y páginas de detalle.
    9. Manejo y carga de recursos como imágenes.
    10. Transiciones y animaciones de widgets y en pase de pantallas.
    11. Patrón bloc para globalizar el manejo de la data y pase de eventos.
    12. Redux, para globalizar el manejo de la data, emisión o pase de eventos y la lógica de negocios.
       

Con todo estos conocimientos podrás emplearlos para crear tus propias aplicaciones en Flutter.

 

 

 

Estructura del curso

Vamos a evaluar uno a uno cada una de las secciones que veremos en el curso:

  • 1 Hola mundo en Dart

    En esta primera parte damos los primeros pasos con Dark, conocemos este lenguaje de programación que es el corazón de Dart; elementos básicos como el uso de condicionales, ciclos, listas, funciones, clases y muchos más! en pocas palabras conocer los aspectos básicos de Dart.

  • 2 Null Safety

    Conoceremos el uso del Null Safety que es una característica que tienes que conocer en Flutter 2, ya que cambia de una forma importante la estructura de nuestro código, abriendo nuevas posibilidades en un código más conciso, sostenible y por supuesto seguro.

    En esta siguiente parte, tenemos que aprender uno de los elementos básicos en Dart y Flutter, antes de iniciar con Flutter vamos a conocer el uso de una nueva característica que viene siendo la del Null Safety, una característica que es empleada en otros lenguajes de programación como Kotlin y Swift ahora también se encuentra de manera nativa en Dart y por supuesto Flutter, lo cual es excelente para crear nuestras apps de manera segura.

  • 3 Instalación de las herramientas necesarias

    Las herramientas son todos los frameworks, IDEs y SDKs que vamos a necesitar para crear nuestras primeras aplicaciones; ¿suena enredado y completo de hacer? realmente no lo es tanto y en el curso lo hacemos paso a paso, visitando las páginas correspondientes, explicando para qué funcionan, para qué vamos a emplearlo y comentando el proceso de instalación.

    La instalación de Android Studio tanto como editor como SDK de Android, la instalación de Xcode como SDK y editor, Postman para realizar peticiones y por supuesto Visual Studio Code como editor seleccionado para crear nuestras apps.

  • 4 Aspectos generales de Dart y Flutter

    En esta sección damos los primeros pasos entre Dart y Flutter, el lenguaje de programación y el framework (y SDK) para crear nuestras apps para Android, iOS, escritorio, web...

    Conocer porque Flutter es una SDK, también un framework para el desarrollo de apps y TODO esto es clave para poder conocer esta tecnologías y con esto dar los primeros pasos con Flutter y Dart.

  • 5 Creando tu primera aplicación:

    Conociendo los componentes bases

    En esta primera parte en la cual ya entramos al ciclo de vida de una app en Flutter, vamos a conocer aspectos básicos de una app; la función de arranque de TODO conocida como main, el Material App como envoltorio, el árbol del widget, componentes o widgets básicos para la creación de cualquier app como texto, imágenes, campos de texto, botones... todo esto lo veremos en detalle para dar los primeros pasos con el framework.

  • 6 Convertidor de medidas: Trabajando con los Statefulwidgets

    Siguiendo avanzando en el curso, lo siguiente que tenemos que conocer, son como podemos crear una aplicación más dinámica, en la cual podamos cambiar aspectos de la misma a nuestro antojo; si tenemos una propiedad y a partir del valor de la misma queremos cambiar el estado de un widget... hasta este punto la app anterior NO permite este comportamiento, solamente eran bloques de lego o widgets que estaban por la interfaz regados, pero con los Stateful Widgets ya no es así.

    Los Statefulwidgets nos permiten agregar esa parte de flexibilización que necesitamos sí o sí para crear nuestras apps más dinámicas, así que, vamos a crear un conversor de medidas para dar un poco más de dinámica a nuestra app, veremos elementos que cambian según algunas condiciones...

    Vamos a crear un conversor de medidas para conoce en detalle como actualizar los widgets en la pantalla.

  • 7 Guardar datos de manera local

    La persistencia es una característica que usan las aplicaciones modernas para tener resguardada los datos de la aplicación y que se encuentren solo en la memoria volátil (La Ram), si no que estos datos sean guardadas en el Disco Duro, en el caso de Flutter mobile seria en una SD o la memoria interna del dispositivo, esto es útil para guardar por ejemplo, la información del login del usuario, dados eh cache, etc; en esta sección vamos a crear una aplicación en la cual vamos a almacenar datos de manera local y de manera persistente.

    Vamos a guardar datos de un sencillo formulario de manera persistente, para cuando cerremos la aplicación o reiniciamos el dispositivo, esos datos sigan alli.

  • 8 Ruteo y navegación básica

    En este apartado vamos a aprender un tema fundamental que es la navegación entre pantallas; sin importar lo imponente que sea tu aplicación, con el mejor estilo y diseño, si no puedes crear más de una pantalla en la cual puedas pasar de una pantalla a otra no tiene sentido alguno.

    En esta sección vamos a aprender la navegabilidad entre distintas pantallas con el componente de ruteo que tenemos definido en Flutter. .

  • 9 Secciones app Timer

    Tenemos un par de secciones en las cuales creamos un Timer, de esta manera sabemos cómo trabajar de una manera más completa, creando otra aplicación real en la cual tiene un alto grado de interacción con el usuario.

    Instalaremos nuestros primeros paquetes y luego le daremos un funcionamiento asíncrono mediante los Streams, para usar hilos secundarios en la aplicación y la misma NO se detenga o quede pegada.

  • 10 Consumir data de una web

    En esta sección es una de las más importantes y largas del curso, en las cuales vamos a crear una aplicación REAL, una app de películas de las cuales vamos a consumir los datos de una Rest API real, vamos a crear una app modular, en la cual sería un listado, página de detalle, listado de las últimas películas, calificaciones, imágenes TOP 10, entre otros, estará consumida desde una Rest Api de la app de un tercero que se aloja en Internet.

    Para esto, vamos a realizar peticiones HTTP mediante un paquete, usa el FutureBuilder para manejar peticiones asincronas, y conocer otros widgets como el ListView, ListTile, Card, paginación, funciones de promesa y mucho más.

  • 11 Introducción al ruteo con transiciones y animaciones

    En esta sección, vamos a construir presentar las animaciones y transiciones entre páginas, pero dándole estilos personalizados en cuanto a la animación de una página a otra y regresando a la anterior. Estas transiciones son para personalizar la animación de una pantalla a otra; sin embargo, en otra sección trataremos las transiciones de tipo Hero, para animar los widgets comunes entre páginas.

  • 12 Algo de estilos e Introducción a las animaciones

    En Flutter es muy fácil realizar cambios suaves entre un estado a otro, entiéndase colores, bordeados, transparencia, tamaños entre otras operaciones, para eso tenemos animaciones de tipo Builder, container, entre otras que veremos en esta sección.

  • 13 TodoApp patrón bloc

    Aprenderemos el patrón original en Flutter para trabajar con los estados, el patrón de Bloc, con esto, podremos tener datos comunes en un solo lugar y poder ser fácilmente accesible desde un repositorio central; para esta sección haremos una aplicación tipo TODO.

  • 14 Tienda en línea en Flutter con Strapi, MongoDB y una Rest Api

    Finalmente, tenemos una sección para crear una tienda en línea con Strapi y Flutter, empleando el patrón de Redux; que es otro patrón para mantener el estado de nuestra aplicación en un solo lugar; en esta sección, vamos a poner en práctica:

    • Crear una app con múltiples pantallas.
    • Usar el patrón de Redux como repositorio de datos central.
    • Crear una app en Node con Strapi, cargar datos y crear la Rest Api.
    • Conectar una app en Flutter a la Rest Api con MongoDB.
    • Consumir la Rest Api de Strapi mediante peticiones HTTP.
    • Realizar operaciones CRUD desde la app en Flutter a Strapi.
    • Carrito de compras con CRUD de productos
    • Favoritos.
    • Y mucho más.
  • 15 App de Sitios

    Crearemos una aplicación para administrar sitios en varias secciones mediante un formulario y registrando imágenes mediante la cámara del dispositivo o desde la galería, usaremos Provider como manejador de estado.

  • 16 App de to do web

    Crearemos una aplicación de to do list con Flutter web en varias secciones y administramos las tareas mediante un formulario en un alerta, usaremos animaciones para el listado, los flex y expanded para organizar el contenido y sincronización con Firebase con el Cloud Storage y Cloud Firestore para almacenar las imágenes y los to do respectivamente.

 

 

 

Prólogo

Flutter es la herramienta del momento cuando se trata en crear aplicaciones móviles para Android e iOS; y esto, no se trata de una moda ni nada que se le aparezca; su sintaxis limpia y expresiva con Dart, su programación declarativa con los widgets y otras características como el Hot Reload, lo convierten en una interesante solución para crear aplicaciones nativas para Android e iOS y que pocas herramientas que ofrecen también soluciones para crear aplicaciones móviles, se les puede comparar.

Aparte de crear aplicaciones para móviles, en versiones recientes del framework, también permiten crear aplicaciones para Linux, Windows y Mac, aparte para web; todo, con un mismo proyecto y pocos cambios para adaptar a cada plataforma.

Nos ofrece un esquema modular entre proyecto y aplicaciones, un conjunto importante de paquetes para extender el ya de por sí, completo framework y con esto, la creación de proyectos escalables.

En este curso, vamos a conocer cómo está formado el framework, las características básicas que nos permite Flutter como SDK para crear aplicaciones móviles, de escritorio y webs, todo con un mismo proyecto base y con pequeñas modificaciones.

En el curso vamos a centrarnos principalmente en el desarrollo móvil.

En definitiva, tendrás un enorme material a tu disposición, para hacer verdaderas aplicaciones.

 

 

Para quien es este curso

Este curso está dirigido a cualquiera que quiera comenzar a desarrollar con Flutter; puede que vengas de otro framework o inclusive PHP; en ambos casos es una gran idea aprender de uno de los frameworks webs más avanzados y completos que podrás encontrar.

Para aquellos que quieran conocer el framework y que conozcan otros frameworks webs, pero no tienen los conocimientos necesarios para aventurarse en estos.

Para aquellas personas que quieran aprender algo nuevo, conocer sobre una tecnología que, aunque tiene mucha documentación, la mayoría está en inglés y al estar el framework en constante evolución, tiende a quedar desactualizada.

Para las personas que quieran mejorar una habilidad en el desarrollo de aplicaciones y que quieran crecer como desarrollador.

Para aquellos que quieran aprender o mejorar una habilidad y con esto, aumentar sus posibilidades de empleo o para llevar un proyecto personal.

Para aquellas personas que conozcan el lenguaje de programación de Dart y quieran aprender Flutter.

Acepto recibir anuncios de interes sobre este Blog.

Curso de Flutter básico desde cero, conoce como trabajar con widgets, bloc, BDs sembast, peticiones http, CRUDs, diálogos, preferencias de usuario, forms, Streams, navs, y mucho más.

- Andrés Cruz

Por aquí tienes el listado completo de clases que vamos a cubrir en el libro y curso:

Introducción

Hola mundo en Dart

Null Safety en Dart

Aspectos generales de Dart y Flutter

Creando tu primera aplicación: Conociendo los componentes bases

Convertidor de medidas: Trabajando con los Statefulwidgets

Guardar datos de manera local

Timer

Timer parte 2, Stream

Ruteo y navegación básica

Consumir data de una web

Introducción al ruteo con transiciones y animaciones

Introducción a los temas y Hero animations

Algo de estilos e Introducción a las animaciones

TodoApp patrón bloc

App móvil E-Commerce: Páginas iniciales

App móvil E-Commerce: MongoDB, Strapi (Node.js) y Flutter

App móvil E-Commerce: Redux

App móvil E-Commerce: Cambios globales en la app

Paquetes imprescindibles para Flutter

App de sitios

App de sitios: Provider

TodoList: App web, estructura

TodoList web: Adaptativa

TodoList web: Pequeños cambios

TodoList: App web, Firebase on Cloud Firestore

Videos generales sobre el desarrollo en Flutter - Sección Free exclusiva