Curso de Dart avanzado
Para quien ya domina lo básico: las técnicas que se usan en proyectos reales. En DMarlon Studio, Dart es el lenguaje de los destinos Flutter (móvil y escritorio): diseña las pantallas en el lienzo del teléfono y el estudio escribe el Dart.
Empezar- 1Clases y listas de inicializaciónDefina clases en Dart con campos final, constructores abreviados con this y listas de inicialización que preparan los datos antes del cuerpo.Lección 1
- 2Constructores con nombre y factoryCree objetos de varias formas en Dart: constructores con nombre, redirigidos y privados, y constructores factory que validan o reutilizan objetos.Lección 2
- 3Getters, setters y miembros privadosProteja el estado de sus clases en Dart con miembros privados (_), getters calculados y setters que validan, con una cuenta bancaria de ejemplo.Lección 3
- 4Herencia y @overrideHerede clases en Dart con extends, pase datos al padre con super y sustituya métodos con @override, con una nómina de ejemplo.Lección 4
- 5Clases abstractas e interfacesDefina contratos en Dart con clases abstractas e interfaces, y distinga extends de implements con varios métodos de pago.Lección 5
- 6MixinsReutilice comportamiento en Dart con mixins: with para aplicarlos, on para limitarlos y miembros abstractos que exigen datos a la clase.Lección 6
- 7Métodos de extensiónAñada métodos y getters a int, String o List en Dart con extensiones, también genéricas, sin heredar ni modificar esas clases.Lección 7
- 8Enums mejoradosDé campos, constructor y métodos a sus enums en Dart y modele con ellos el ciclo de vida de un pedido, con un switch que el compilador comprueba.Lección 8
- 9GenéricosEscriba clases y funciones genéricas en Dart, con tipos acotados (extends) e inferencia, con un repositorio en memoria y una función groupBy.Lección 9
- 10Records y desestructuraciónDevuelva varios valores sin crear clases con los records de Dart 3, y desestructúrelos en variables, en bucles y en intercambios.Lección 10
- 11Patrones y clases selladasModele los estados de una pantalla con clases sealed en Dart 3 y trátelos con un switch exhaustivo, patrones de objeto, guardas when y if-case.Lección 11
- 12Operadores, == y hashCodeDefina operadores en sus clases de Dart, compare objetos por valor con == y hashCode y ordénelos con Comparable, con un tipo Money.Lección 12
- 13Futures, async y awaitEntienda las Future de Dart y escriba código asíncrono legible con async y await, simulando llamadas a un servidor con Future.delayed.Lección 13
- 14Future.wait y errores asíncronosLance varias peticiones en paralelo con Future.wait en Dart y trate sus errores con try/catch, timeout y onError, con una salida siempre igual.Lección 14
- 15Streams con async* y await forCree streams en Dart con funciones async* y yield, recórralos con await for y transfórmelos con where y map, con una descarga simulada.Lección 15
- 16StreamController y eventosEmita sus propios eventos en Dart con StreamController y escúchelos con listen, onError y onDone, con un carrito de la compra de ejemplo.Lección 16
- 17Isolates con Isolate.runSaque el cálculo pesado del hilo principal en Dart con Isolate.run, ejecute varios isolates en paralelo y capture sus errores.Lección 17
- 18JSON con fromJson y toJsonLea y escriba JSON en Dart con jsonDecode y jsonEncode, y conviértalo en objetos con tipos mediante fromJson y toJson, como en Flutter.Lección 18
- 19Iterables y generadoresGenere secuencias perezosas en Dart con sync*, yield y yield*: trabaje con series infinitas y calcule solo lo que de verdad se pide.Lección 19
- 20Proyecto: procesar pedidosCombine clases selladas, genéricos, async y JSON en Dart en un pequeño sistema de pedidos: la lógica que hay detrás de una app Flutter.Lección 20