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 鈥淒eber铆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 鈥淐贸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, 鈥淧rogramamos el c贸mo hacer la tarea鈥.
    Ejemplo: 鈥淥ye 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, 鈥淧rogramamos o nunca mejor dicho Declaramos que debe hacer la m谩quina, sin decirle c贸mo lo debe hacer鈥

Ejemplo: 鈥淥ye 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 鈥渋f鈥檚, else鈥檚, for, while鈥檚, 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 鈥渜ue鈥 mas que el 鈥渃omo鈥.

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 鈥渜u茅 se hace鈥, en cambio, la programaci贸n declarativa muestra el 鈥渃贸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)