Curso de Dart
El lenguaje de Flutter: una sola base de código para Android, iOS, web y escritorio.
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.
Curso de Dart básico
20 leccionesDesde cero: lo imprescindible para escribir sus primeros programas.
- 1Hola, mundoSu primer programa en Dart: la función main(), print() para escribir texto y números, comillas simples o dobles y el punto y coma.Lección 1
- 2var, final, const y tiposDeclare variables en Dart con su tipo (String, int, double, bool), con var, final y const, y vea el tipo de cada valor con runtimeType.Lección 2
- 3Números y aritméticaOpere con números en Dart: +, -, *, la división / que da double, la división entera ~/ y el resto %, redondeos y los operadores += y ++.Lección 3
- 4Cadenas e interpolaciónTrabaje con texto en Dart: unir cadenas con +, interpolación con $ y ${}, caracteres por posición, escapes, cadenas de varias líneas y el operador *.Lección 4
- 5Leer del tecladoLea lo que escribe el usuario en Dart con stdin.readLineSync() de dart:io y conviértalo en números con int.parse, double.parse e int.tryParse.Lección 5
- 6if, else y operador condicionalTome decisiones en Dart con if, else if y else, combine condiciones con &&, || y !, y elija un valor en una línea con el operador ? :.Lección 6
- 7switch y expresiones switchElija entre muchos casos con switch en Dart 3: la sentencia clásica, la nueva expresión switch con =>, patrones como || y >=, y guardas when.Lección 7
- 8for, while y do-whileRepita instrucciones en Dart con los bucles for, while y do-while, y controle cada vuelta con break y continue: una tabla, unos ahorros y una cuenta atrás.Lección 8
- 9ListasGuarde varios valores en orden con las listas de Dart: List<String>, posiciones desde 0, first y last, recorrerlas con for-in, contains e indexOf.Lección 9
- 10Trabajar con listasCambie listas en Dart: añada con add, addAll e insert, quite con remove, removeAt y removeLast, ordene con sort y copie partes con sublist.Lección 10
- 11ConjuntosUse los conjuntos (Set) de Dart para guardar valores sin repetir: quitar duplicados con toSet() y comparar gustos con intersection, union y difference.Lección 11
- 12MapasGuarde pares clave-valor en un Map de Dart: la carta de una cafetería con [], ??, remove, containsKey, entries y un recuento de pedidos.Lección 12
- 13Funciones y sintaxis de flechaEscriba funciones en Dart con su tipo de retorno, return y la sintaxis de flecha =>, use void y guarde funciones en variables: un conversor de temperaturas.Lección 13
- 14Parámetros con nombre y opcionalesHaga funciones flexibles en Dart con parámetros opcionales entre [ ], parámetros con nombre entre { }, valores por defecto y required.Lección 14
- 15Seguridad frente a nullEntienda la seguridad frente a null de Dart: tipos con ?, los operadores ??, ?., ! y ??=, y cómo un if != null convierte el tipo.Lección 15
- 16Métodos de las cadenasManeje texto en Dart con trim, toUpperCase, contains, indexOf, replaceAll, substring, split, join, padLeft y padRight.Lección 16
- 17forEach, map, where, reduce y foldRecorra y transforme colecciones en Dart con forEach, map, where, reduce y fold, y encadénelos para filtrar, convertir y sumar en una línea.Lección 17
- 18ExcepcionesControle los errores en Dart con try, on, catch y finally, y lance los suyos con throw: un cajero que rechaza importes negativos o sin saldo.Lección 18
- 19Escribir y leer archivosGuarde y lea archivos de texto en Dart con la clase File de dart:io: writeAsStringSync, FileMode.append, readAsStringSync y readAsLinesSync.Lección 19
- 20Proyecto: carrito de la compraUn proyecto en Dart que reúne el curso: un carrito de la compra con mapas, funciones, excepciones, null safety, fold y una expresión switch para el descuento.Lección 20
Curso de Dart avanzado
20 leccionesPara quien ya domina lo básico: las técnicas que se usan en proyectos reales.
- 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