Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hay otros temas que son necesarios saber sobre dart, pero los mismos serán expuestos
antes de las clases donde sean necesarios para tener el conocimiento fresco antes de
usarlo.
1
Intro a DART
a) AOT (Ahead of Time): compilado a un rápido Código na@vo por lo que no necesita
puentes innecesarios para correr el código.
b) Puede ser JIT (Just In Time): compilado a una velocidad excepcional.
c) Creación de animaciones y transiciones a 60 fps.
d) Es rela@vamente fácil de aprender.
En Dart cada uno de los programas tiene una instrucción principal llamada main():
void main(){
// Punto inicial
}
2. Hola mundo.
void main(){
// homaMundo
print("Hola mundo");
}
3. Tipos de datos.
3.1 Strings.
Resultado:
Txema Serrano
2
Intro a DART
• String
• const: constante (desde la compilación)
• final: funciona como una constante, no se puede cambiar (desde la primera
asignación).
• int: entero
• double: coma flkitante
La salida:
Txema Serrano
10
1699.25
3.2 Booleanos.
Salida:
Esta inactivo
3
Intro a DART
Salida:
Es null
3.2 Lista.
Salida:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
4
Intro a DART
Salida:
Definimos que el tipo de la lista es entero y además creamos un nuevo listado mediante
un método estático (generate)
La salida es:
5
Intro a DART
3.3 Map.
Resultado:
print(persona['nombre']);
Resultado:
Txema
Podemos obligar a definir que qué tipo son el par propiedad valor:
Resultado:
6
Intro a DART
Resultado:
Hola mundo
Resultado:
Resultado:
Hola Txema
7
Intro a DART
Resultado:
Greetings Txema
También puedo hacer esto con el mismo resultado. Los dos parámetros son obligatorios:
8
Intro a DART
9
Intro a DART
La salida es:
nombre: Bruce
Más propiedades:
Resultado:
Los campos en este caso son opcionales. Como en Dart no existen constructores, la
forma de inicializar una clase es:
Resultado es el mismo:
10
Intro a DART
Tenemos la misma clase pero creamos un JSON rawJSON. Los signos ! es porque
garan@zamos que @enen un valor:
Resultado:
Esta es una forma farragosa de tratar los JSON. Se suele hacer crear una nueva instancia
mandando el JSON como argumento. Lo que queremos es expandir la funcionalidad de
la clase creando el método fromJSON:
11
Intro a DART
Resultado no cambia.
final rawJSON = {
'nombre': 'Tony Stark',
// 'poder': 'Dinero'
};
Resultado:
Uncaught TypeError: Cannot read properties of null (reading 'toString')Error: TypeError: Cannot
read properties of null (reading 'toString')
Heroe.fromJSON(Map<String, String>json){
this.nombre = json['nombre']!;
this.poder = json['poder'] ?? 'No tiene poder';
}
Resultado:
12
Intro a DART
Resultado:
13
Intro a DART
Resultado:
Area: 25
El resultado es el mismo.
14
Intro a DART
Resultado:
Area: 25
lado: 5
Area get: 25
15
Intro a DART
Resultado:
Area: 100
lado: 10
Area get: 100
16
Intro a DART
Sirve para que otras clases a que obtengan características de esta clase. Así por ejemplo
una clase Perro:
Resultado:
Guau
17
Intro a DART
Resultado: Guau
Resultado:
Guauuuuu
Miauuuuu
18
Intro a DART
3.9 Extends.
Resultado:
Clark Kent -null
Lex Luthor -null
19
Intro a DART
3.10 Mixins.
Realizaremos el ejemplo del artículo: Animal (Mamifero, Ave, Pez). Y las acciones
que pueden hacer (caminar, nadar y volar). Existe instancias de clase que pueden
hacer las tres acciones: por ejemplo, el pato.
20
Intro a DART
Resultado:
estoy nadando
estoy caminando
estoy volando
estoy caminando
estoy nadando
estoy volando
21
Intro a DART
3.11 Futures.
Resultado:
Antes de la petición
Fin del programa
Si ahora hacemos:
Tenemos:
Antes de la petición
Fin del programa
Hola mundo - 3 segundos
22
Intro a DART
Podemos especificar al Future de qué tipo de datos para poder acceder a los métodos
específicos del método.
Así tenemos:
Antes de la petición
Fin del programa
23
Intro a DART
3.12 Async-Await.
Resultado:
Antes de la petición
Fin del programa
10 – Txema
¿Por qué en este orden? Porque primero ejecuta todo el código de forma asíncrona y las
peticiones las deja para después. Si queremos la resolución de getNombre antes de fin
de programa:
El resultado ahora:
Antes de la petición
10 - Txema
Fin del programa
24
Intro a DART
Resultado:
Antes de la petición
Hola mundo - 3 segundos
Fin del programa
25
Intro a DART
Cuestionario de Dart:
26
Intro a DART
27
Intro a DART
28