Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Slides Dart Desde Cero
Slides Dart Desde Cero
Dart desde
Cero
Melvin Salas
Tu profesor: Melvin Salas
● Software Engineer.
@melvinsalas
/melvinsalasdev
¿Qué vas a aprender?
● Dart VM
Es la máquina virtual donde se ejecuta el
código necesario para el desarrollo.
● Multiplataforma
Web gracias al convertidor dart2js.
Nativo gracias a Flutter y dart2native.
¿Cómo funciona Dart?
● Just-in-Time 🔥
Agregar recursos de desarrollo que facilitan la
ejecución y debugueo (hot reload).
● Ahead-of-Time 🚄
Optimiza las aplicaciones y remueve recursos
innecesarios, creando compilaciones más
rápidas.
¿Por qué usar Dart?
● Respaldo
Es de código abierto y Google está invirtiendo
muchos recursos en su uso.
● Comunidad
Crece día a día gracias a Flutter y su curva de
aprendizaje es muy corta.
Dónde encontrar
más información
● Web oficial
La documentación, ejemplos y actualizaciones
están disponible en www.dart.dev.
● Paquetes
El repositorio oficial de paquetes es
www.pub.dev para aplicaciones Dart y Flutter.
¡Haz el quiz de
este módulo!
Introducción
a DartPad
¿Qué es DartPad?
● DartPad
Es una herramienta que permite programar en
Dart desde el navegador web.
● Ayuda
Tiene opciones que ayudan durante el
aprendizaje y permiten conocer el lenguaje.
Las bases de
programación en Dart
Variables
¿Qué es una variable?
● Concepto
El espacio de memoria
donde se puede guardar
un valor.
● Identificador
Es el nombre simbólico
que puede tener cada
variable y debe ser una
sola palabra.
¿Qué es un tipo de dato?
● Concepto
Son las restricciones que puede tener un valor,
para definir su dominio y comportamiento.
● Modernidad
Algunos lenguajes actuales infieren o deducen
el tipo de dato si el programador no lo define.
Cómo se almacena un valor
● Proceso
Sucede cuando un valor de un tipo
determinado es introducido en la variable.
● Ejemplo
Cuando en matemáticas se utilizan variables
para almacenar un número en específico.
tipo variable = valor
Tipos de
datos básicos
Booleanos
● Concepto
El tipo más primitivo, puede almacenar valores
de verdadero o falso.
● Características
Tipo: bool
Cuando es verdadero se coloca true y cuando
es falso se coloca false.
Números
● Concepto
Se utiliza para almacenar solo valores
numéricos, con o sin decimales.
● Características
Tipo: int o double
El double ocupa más memoria, pero puede
almacenar los dos tipos.
Strings
● Concepto
Permite almacenar texto, todo tipo de
contenido alfanumérico.
● Características
Tipo: String
Se colocar entre "comillas dobles".
Colecciones
● Concepto
Permite almacenar muchos valores de un
mismo tipo a la vez en una misma variable.
● Características
tipo: List
Se coloca el tipo entre <> y los valores entre []
Tipos de
datos avanzados
Uso de var
● Inferencia
Son cambiados en tiempo de compilación por
la computadora.
● Comodín
Es una forma de usar un comodín que permite
despreocuparse por la declaración.
final vs. const
● Inmutabilidad
Son variables de solo lectura, una vez que se le
asigna un valor, no puede ser cambiado.
● Diferencias
const debe ser conocido en tiempo de
compilación, y final no.
Tipo dynamic y su uso
● Inferencia
Es igual que el var, Dart infiere el tipo de dato.
● Mutabilidad
Puede cambiar su tipo en cualquier momento,
debe usarse solo en casos específico, porque
es mucha responsabilidad.
Diferencias
● Se declara
Es el lugar donde la variable adquiere el
nombre que la identifica y el tipo.
● Ejemplo
String nombre
int edad
Inicialización de variables
● Inicio
Es cuando la variable adquiere su valor inicial.
Puede estar junto a la declaración.
● Ejemplo
String nombre = "Amanda";
int edad;
edad = 12;
Asignación de variables
● Reemplazo
Es cuando se reemplaza el valor anterior de
una variable por uno nuevo.
● Ejemplo
String nombre = "Amanda";
nombre = "Beto";
int edad = 12;
edad = 23;
Incrementar o decrementar
● Operador
Los números pueden ser incrementados de 1
en 1 con unos operadores ++ o
decrementados con --
● Ejemplo
int x = 5;
x++;
++x;
String con Dart
Cómo comentar el código
● Definición
Es cuando en un String es necesario poner un
símbolo que rompe la forma del código.
● Solución
Colocar un símbolo \ antes de ese carácter
especial.
Multilínea
● Definición
Permite escribir varias líneas en la consola con
el caracter especial n.
● Ejemplo
Se usa dentro de un String con \n
Funciones
● Definición
Es una acción que aplicamos sobre una
variable y nos da un resultado.
● Ejemplos
toUpperCase: Cambiar todo por mayúsculas.
toLowerCase: Cambiar todo por minúsculas.
replaceAll: Reemplaza palabras enteras.
Conversión
de tipos
String to number
● Caso
Cuando tenemos un número como texto y
necesitamos aplicar operaciones sobre él.
● Código
Se utiliza el método int.parse()
Se utiliza el método double.parse()
number to String
● Caso
Cuando un número debe ser convertido a un
String.
● Código
Casi todas las variables tiene un método
toString() que convierte en texto el valor.
Casos especiales
● Caso
Cuando las conversiones no son posible se
determina un error en tiempo de ejecución.
● Ejemplo
La aplicación puede terminar abruptamente
con un Script error
Ejercicio
Flujo de Datos
Operaciones
Aritméticas
● ¿Qué son?
Son expresiones matemáticas que requieren 2
números y retornan un valor numérico.
● Expresiones
+, -, -expr, *, /, ~/ y %
Asignación
● Qué son
Son operaciones aritméticas abreviadas.
● Ejemplo
+=, -=, *=, /=, ~/= y =%
Relacionales
● Qué son
Son expresiones de comparación que
requieren 2 números que retorna un resultado
booleano.
● Ejemplo
==, =!, =>, >, < y <=
Lógicas
● Qué son
Son expresiones lógicas que requieren 1 o 2
booleanos y retorna un resultado booleano.
● Ejemplo
||, &&, ! y ?:
valor1 valor2 && ||
true true true true
true false false true
false true false true
false false false false
Condicionales
If
if(expresion) {
// código del if
}
Else
if(expresion) {
//
} else {
// código del else
}
Switch
switch(expresion) {
case: break;
case: break;
default:
}
Ciclos
While
while(expr) {
// código while
}
Do While
do{
// código do while
}while(expr)
For
enum Nombre {
valor1, valor2, valor3
}
Ejercicio
Colecciones
Introducción a
las colecciones
Qué es una colección
● Definición
Es un tipo de dato que consiste en una
secuencia ordenada de valores de un tipo en
específico y de tamaño variable.
● Creación
List <int> = [1, 2, 3]
List <String> = []
Posiciones en la Lista
● Definición
Es parecido a una lista, con la diferencia de
que NO puede tener valores duplicados.
● Creación
List <int> = {1, 2, 3}
List <String> = {}
Propiedades de Set
● Definición
Es una colección de pares de llave - valor,
también se les conoce como diccionarios,
donde la llave no se puede repetir.
● Inicialización
var persona = {
nombre: "Ana",
edad: 12,
}
Propiedades de Map
● Cuando aparecen
Cuando el conjunto no tiene una llave
asociada, retorna null.
● Cómo lidiar con ellos
null es un tipo de valor que representa nada,
por lo que puede ser comparado mediante un
if.
Aprende más sobre
colecciones
Colecciones anidadas
● Cuando sucede
Es cuando una colección contiene una
colección dentro de sus valores, común en
Maps.
● Ejemplo
Map restaurantes = {
"nombre": "Pollos del monte",
"estrellas": [5, 4, 3, 4, 2]
}
Unión de colecciones
● Caso
Cuando se requiere unir el contenido de 2 o
más colecciones.
● Soluciones
Usando la función .addAll()
Durante el constructor con ...
Hacer una nueva colección
Flujos dentro de
colecciones
if entre colecciones
● Qué es
Dentro de la declaración de colecciones se
puede tener un condicionador de tipo if.
● Ejemplo
var colores = [
"verde",
if(agregarAmarillo) "amarillo",
"azul"
]
for entre colecciones
● Qué es
Dentro de la declaración de colecciones se
puede tener un condicionador de tipo for.
● Ejemplo
var colores1 = [
"verde",
for(var color in colores2) color,
"azul"
];
Ejercicio
Curso de Dart
desde Cero
Qué aprendiste en este curso