Bienvenida e Introducción

1

¡Renovaremos este curso!

2

Desarrollando en Flutter

3

¿Qué es Flutter?

4

Dart y Flutter

5

Sintaxis de Dart

6

¡Renovaremos este curso!

7

Flutter para desarrolladores Android, iOS y Xamarin.forms

8

Flutter para desarrolladores React Native

9

¿Cómo luce una app construída en Flutter?

10

Primer reto

Creando mi entorno de desarrollo

11

¡Renovaremos este curso!

12

Requerimientos de Hardware y Software

13

Instalando Flutter en Android Studio y Visual Studio Code

14

Composición de un proyecto en Flutter

Interfaces en Flutter

15

¡Renovaremos este curso! Te quedan unos días para concluirlo.

16

Programación Declarativa en Flutter

17

Estructura de un programa en Flutter

18

Hola Mundo en Flutter

19

Widgets básicos

20

Widgets con estado y sin estado

21

Análisis de Interfaces de Usuario en Flutter

22

Definiendo los layouts de nuestra interfaz

23

Segundo reto

Widgets sin estado en Flutter

24

¡Renovaremos este curso! Te quedan unos días para concluirlo.

25

Flutter Widgets: Container, Text, Icon, Row

26

Flutter Widgets: Column

27

Recursos en Flutter: Tipografías y Google Fonts

28

Widget Image

29

Widget Apilando Textos

30

Widgets Decorados

31

Widget Imagen Decorada

32

Widget Listview

33

Widget Button, InkWell

34

Tercer reto

Widgets con estado en Flutter

35

¡Renovaremos este curso! Te quedan unos días para concluirlo.

36

Botones en Flutter

37

Clase StatefulWidget: Cómo se compone

38

Widget Floating Action Button

39

Widgets BottomNavigationBar

40

Generando Navegación en BottomNavigationBar

41

Personalizando nuestro BottomNavigation Bar a Cupertino iOS BottomBar

42

Cuarto reto

Fin del Curso

43

¡Renovaremos este curso!

44

Conclusiones

45

¡Terminamos!

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Flutter

Curso de Flutter

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Programación Declarativa en Flutter

16/45
Recursos

El estilo de programación que utiliza Flutter se llama Programación Declarativa, inspirado en el estilo de programación de React y que va de la mano con el paradigma de Programación Funcional.

Existen dos tipos de estilos de programación:

  • Programación Imperativa: es el estilo de programación que más se utiliza en lenguajes de programación tradicionales como Lenguaje C, Java, PHP o JavaScript. En general la programación imperativa se fundamenta en el uso de métodos de clases que reciben parámetros o argumentos sencillos para realizar tareas específicas.

  • Programación Declarativa: este estilo de programación utiliza como parámetros estructuras un poco más complejas formadas por datos compuestos, objetos, pares propiedad-valor, etc. que en cierta forma es más fácil de leer y más comprensible para el desarrollador. Este estilo de programación es el que usa Flutter.

Básicamente ambos estilos de programación hacen lo mismo, producen los mismos resultados, su diferencia radica esencialmente en la legibilidad y la organización del código.

Aportes 56

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Después de 20 años, los grandes de la industria comienzan a darse cuenta de los beneficios de programar en forma declarativa. Antes de su retiro de Microsoft, el propio Bill Gates aconsejó que “Deberíamos estar haciendo las cosas en forma declarativa y no estar escribiendo tanto código procedural”.

React, no eres tú, soy yo… creo necesitamos darnos un tiempo… :p

Flutter se parece mucho a CSS referente a como aplicarle diseño a los widget

Estoy tan acostumbrado a la programación imperativa que espero que no se me dificulte tanto

#Programación imperativa
Paradigmas tradicionales:
-POO.
-Programación estructurada.
#Programación declarativa
Código más entendible por medio de la asignación de propiedades.

Declarativa vs imperativa version corta.

Imperativa: El lenguaje expresa el “Cómo hace las cosas” (paso a paso de instrucciones para obtener el resultado esperado).

Declarativo: El lenguaje describe el resultado sin tener que especificar cómo o en qué orden lo hace (descriptivo) . (Ejemplos consultas SQL, JSX de REACT, o el ejemplo de flitter.)

Ahora, Dart no es 100% declarativo, pero en definitiva es más legible y recomendado usar una sintaxis declarativa para programación de UIs.

CHICOS si quieren los apuntes completos del curso - los estoy subiendo a un grupo de facebook
el enlace aqui abajo.

https://www.facebook.com/groups/691577478253893

La principal diferencia entre ambos paradigmas es que en la programación imperativa se describe paso a paso un conjunto de instrucciones que han de ejecutarse con la finalidad de variar el estado del programa y resolver un problema para hallar una solución. Es decir, se describe un algoritmo en el que se detallan los pasos secuenciales necesarios a seguir para la resolución de un problema.

Que fino!

Viva la programación imperativa. Hail HYDRA.

Básicamente ambos estilos de programación hacen lo mismo, producen los mismos resultados, su diferencia radica esencialmente en la legibilidad y la organización del código.
Y pensar los beneficios que trae un simple cambio en la legibilidad y organización.

✨ La programación declarativa consiste en instruir a un programa sobre lo que debe hacerse, en lugar de decirle cómo hacerlo. Este paradigma es una mejora notable sobre el enfoque imperativo.

pense que react era una libreria JS no un framework :S

En la clase pasada no hicimos ningun hola mundo…

Dicen que se hizo un Hola mundo en el video anterior, pero creo que vi el video completo y no lo vi, voy a volver a verlo.

El orden del Hola Mundo en Flutter sería antes que este o entiendo mal?

El estilo declarativo en un principio me recuerda mucho a la sintaxis de un objeto por ejemplo en Javascript

Me gusta la programación declarativa, se me hace familiar cuando programo en CSS y es más facil de leer.

ESto es una prueba

Programación Imperativa VS Programación Declarativa

Veo que no hay una definición formal y clara de lo que es la programación imperativa y la programación declarativa.

Programación Imperativa

Comencemos por definir la palabra imperativo/a, y esta se puede definir como: dar una orden o un comando.
Ahora si, con esto en mente, la programación imperativa se trata de un paradigma (conjunto de conceptos y teorias) de programación el cual hace uso de unidades definidas como declaraciónes (statements) paso a paso para dar comandos a una computadora y se enfoca en describir como opera un programa.

Programación Declarativa

Ahora, la palabra declarativo/a simplemente es exponer o manisfestar, entonces, podemos decir que la programación declarativa es un paradigma de programación que se enfoca en describir el programa en terminos de su estructura. Más que decir como realizar algo, se describe como debe ser, y buenos ejemplos de esto es la programación funcional, el lenguaje SQL, Haskell (programación funcional).


Si hay dudas, este texto se puede mejorar en caso de que aun no quede muy claro sus diferencias.

No sabia que se llamaban así estos tipos de programación 🤔

Me parece que no quedo muy bien explicado la diferencia entre estos dos paradigmas. Por ello les comparto como lo entiendo yo este tema.

Programación Imperactiva:

  • Le decimos a la máquina que hacer en cada paso. Es decir, “Programamos el cómo hacer la tarea”.
    Ejemplo: “Oye máquina, toma esta lista de n números, recorre cada uno de ellos y si el número que estas recorriendo es mayor a 5 guardalo en otra lista, al finalizar con todos los n numeros me pasas la lista de regreso”, así tendríamos una lista con todos los números mayores a 5.

Programación Declarativa:

  • Le decimos a la máquina lo que queremos que haga(Así de simple, sin preocuparnos del como lo hará). Es decir, “Programamos o nunca mejor dicho Declaramos que debe hacer la máquina, sin decirle cómo lo debe hacer”

Ejemplo: “Oye máquina, de esta lista de n numeros dame los que sean mayores a 5”.

Fácil y sencillo.

Hay algunas cosas más de detalle sobre cada paradigma, por ejemplo en el paradigma imperactivo nos encargamos de programar el control de flujo del programa. Mientras que en el paradigma declarativo NO, esto implica que al leer una sentencia declarativa nos concentramos en leer lo que hace la sentencia y NOnos desviamos leyendo “if’s, else’s, for, while’s, etc”.

Para conocer más: link

La programación declarativa se caracteriza por promover la definicion del resultado final mas que el proceso para lograrlo.
Un ejemplo de programacion declarativa es SQL porque el programador trabaja en definir el resultado que necesita mas que en como se va a lograr ese resultado, de lo cual ya se encarga el motor de DB.
Se determina el “que” mas que el “como”.

Me gusto esta clase.

Personalmente, dado que no vengo del mundo de la programación en lenguaje declarativo se me hace mucho más fácil de leer.

Genial esta forma declarativa de programar.

Que genial!!!

muy interesante

Matas a los backends de toda la vida con el declarativo jajaj

Más fácil de entender la programación declarativa, incluso para gente involucrada en los proyectos que no desarrollan (diseñadores, testers, product managers).

Son dos paradigmas, la imperativa y la declarativa, diferentes maneras de hacer lo mismo. Con la práctica seguro termina uno acostumbrandose. Lo ideal para un desarrollador es manejarse cómodo en ambas.

😮

Hay un curso relativamente corto de programación funcional con JS que explica este tema super bien.

Muy Bien Explicado!

como puedo trabajar fluuter con vscode me pueden ayudar

Hola, hasta ahora todo super. Creo que queda muy floja la explicación de estos paradigmas. Espero pronto corrijan este contenido con una explicación más acertada.

What

uff si con JS y PHP se hacen cosas locas ya estarás listo

Programación Declarativa en Flutter

  • Programación Imperativa: se fundamenta en el uso de métodos de clases que reciben parámetros o argumentos sencillos para realizar tareas específicas.

  • Programación Declarativa: utiliza como parámetros estructuras un poco más complejas formadas por datos compuestos, objetos, pares propiedad-valor, etc. Este estilo de programación es el que usa Flutter.

Cuando aprendes programación imperativa y ya dominas bien este tipo de programación se te facilitan muchas cosas, pero la programación declarativa literalmente es mucho las legible, claro y facil de implementar, realmente cuando sabes que existe programación imperativa no se te ocurre que exista otra mejor manera de programar, pero particularmente me sorprende la programación declarativa lor su versatibilidad

Se ve muy bien

Chicos no pude arrancar el simulador me dice que no esta conectado a ninguno no se como resolver alguien que me ayude.

La programación imperativa se utiliza en lenguajes como Java, C o PHP, mientras que la programación declarativa es utilizada en React y Flutter.

Se ve muy bueno

Es realmente interesante encontrarse con que definir las propiedades de un constructor mediante el uso de los dos puntos sea la programación declarativa. Es bastante más clara que la imperativa, por supuesto, y la implementación dentro de los propios constructores me parece bien curiosa y divertida

Pues yo también estoy acostumbrado a la forma imperativa, espero acostumbrarme rápido a la declarativa. 😃

Flutter y Flare, un curso de esto seria genial.

Flutter mas simple para programar

Que simple

El estilo declarativo se parece mucho a CSS 😃

creo que me enamore

10/10

Muy importante esta clase para aclarar el estilo de programación de Dart

En un curso que hice de programación funcional con un profesor llamado Eduardo García explicaba que la programación imperativa muestra el “qué se hace”, en cambio, la programación declarativa muestra el “cómo se hace”.

Puedes usar programación declarativa en cualquier lenguaje OO, obviamente en unos es mas cómodo que en otros. Por ejemplo ese mismo caso en Java o Groovy podría verse así:

//java
return new ViewB(
   red,
   new ViewC(..))
)

//groovy
return new ViewB(
    color: red,
    child: new ViewC(..)
)

Depende de como se diseñe el API (las clases)