Arquitectura de Aplicaciones

1

Pasos para aprender Flutter Avanzado

2

¿Qué es una Arquitectura de software?

3

Tipos de Arquitecturas para Flutter

4

Arquitectura BLoC en Flutter

5

BLoC + Clean Architecture en Flutter

6

Estructurando nuestro proyecto utilizando la Arquitectura BLoC

7

Haciendo BLoC Singleton en Flutter

8

Aplicando Providers al Proyecto

Firebase y Flutter

9

Integrando Firebase Authentication, Cloud Firestore y Firebase Storage al proyecto

10

Integrando Firebase a Flutter para Android

11

Integrando Firebase a Flutter para iOS

12

Creación de Pantalla de Login con Flutter

13

Creando botones reutilizables en Flutter

14

Autenticación de Firebase con Google

15

Implementando Firebase Authentication en BLoC Pattern

16

Streams en Flutter

17

Manejando una sesión con Firebase Authentication y Flutter

18

Implementando Google SignOut en BLoC

19

Implementando Google SignOut en View

20

Monitoreando y validando la conexión al Sign con Google

21

Mostrando los datos de usuario de Google en la interfaz en Flutter

Cloud Firestore de Firebase en Flutter

22

¿Qué es Cloud Firestore de Firebase?

23

Analizando un modelo de datos no relacional

24

Creando un Modelo de datos en Cloud Firestore

25

Enviando datos a Cloud Firestore

26

Creando un Widget gradiente personalizado

27

Manejo de Desbordamiendo de Texto de Widget Text

28

Botón de Back en un Appbar en Flutter

29

Navegación entre pantallas en Flutter

30

Widget Text Appbar personalizado en Flutter

31

Widget TextField personalizado en Flutter

32

Creando una Safe Area para una interfaz que tiene un AppBar

33

Widget TextField con iconos en Flutter

34

Retocando el CardView

35

Mostrando imágenes en un CardView

36

Creando un botón de Submit en Flutter

37

Envío de datos de un fórmulario en Flutter

38

Subiendo datos a Firestore de Firebase

39

Formularios en Flutter

Acceso al Hardware con Flutter

40

Acceso a la cámara en Flutter

41

Librerías de acceso a Hardware en Flutter

Firebase Storage en Flutter

42

Qué es y cómo funciona Firebase Storage en Flutter

43

Subiendo una imagen a Firebase Storage desde Flutter

Querys avanzados en Cloud Firestore de Firebase en Flutter

44

Manejo de imágenes en Cloud Firestore

45

Cloud Firestore insertando referencias y arrays en la base de datos

46

Descargar imágenes de Firebase Storage y mostrarlas en Flutter

47

Procesando datos con BLoC Pattern

48

Trayendo datos de Cloud Firestore

49

Persistiendo datos de un usuario logueado

50

Aplicando Filtros en Cloud Firestore

51

Construyendo los Places en la pantalla de Home

52

Mostrando los Places en la pantalla de Home

53

Actualizando datos en tiempo real

54

Manejando la lógica de likes, como botón toggle.

55

Insertando y obteniendo referencias en datos de Firestore.

56

Usando el caché para cargar imágenes más rápido

57

StreamController, sink, add y StreamBuilder

Conclusiones

58

Conclusiones

Curso Avanzado de Flutter

Curso Avanzado de Flutter

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

¿Qué es una Arquitectura de software?

2/58
Recursos
Transcripción

Una arquitectura de software se encargará de estructurar, diseñar y proyectar un proyecto. Indica la estructura, funcionamiento e interacción entre las partes del software; nos ayuda a tener el código organizado para que todo el equipo pueda verlo.

Aportes 31

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Acá hay un post muy interesante, de dos partes, sobre la arquitectura BLoC. (Incluye links del post original que está escrito en inglés) Link

BLoC = Business Logic Component

Hay una nueva arquitectura llamada cubit que promete ser la mejor y mas facil de usar

Curso pésimo, deslavazado, desordenado, mal enfocado, inacabado, sin metodología ni pedagogía… Una pérdida total de tiempo y dinero. Algo se puede aprender (poco) hasta que se empieza con el patrón BloC y firebase (todo está obsoleto). Mal curso.

Otra de las arquitecturas que se pueden aplicar en Flutter es Redux, si vienes del mundo de javascript seguro lo entenderas rapidamente.

A veces es un poco dificil convencer a algunos PM de la necesidad de la arquitectura, lo triste realmente es cuando incluso los devs del equipo no ven la necesidad de la misma.

¿Qué es el patrón BLOC?
Es un sistema de gestión de estado para Flutter recomendado por los desarrolladores de Google. Ayuda en la gestión del estado y en el acceso a los datos desde un lugar central en su proyecto.
By: https://bit.ly/2SxUd6L

Tener ordenado el área de trabajo es la mejor forma de enfrentarse a los más grandes retos de la humanidad. (Y de la programación) 😃

Arquitectura de software

Se refiere a la organización de un sistema, la cual pudiera estar compuesta de componentes que interactúa las unas con las otras generando un entorno de operación y principios de diseño.

.
El objetivo principal de las arquitecturas de software va más allá de su diseño u organización, es el soportar su propia evolución a lo largo del tiempo conllevando su optimización en su misma individualidad.
.

Composición de una Arquitectura de software

Desde el punto de vista técnico, este concepto está dividido en diferentes abstracciones que, en conjunto, conoceríamos como Frameworks, patrones de diseño y buenas prácticas:
.

  • Folder Design. Referido a la capada donde residirá nuestro código, desde la configuración hasta la nomenclatura de la misma.
  • Structure Design. Referida a la concepción misma del código y sus diferentes interconexiones. Algunos patrones o diseños pudieran estar reflejados por su misma estrategia (MVC, MVVM, etc.), su manejo de estado (BLoC, MobX, Redux, etc.) o establecido por pedazos de patrones conocidos (Singleton, Strategy, Builder, etc.).
  • Delivery Design. Relacionada con la manera en que los sistemas estás distribuidos o, incluso, definidos en su construcción ( CI / CD ).

Si tu app es una app necesita una Arquitectura jajajaja

BLoC = Business Logic Component

¿Dónde encontrar plantillas para facilitar el diseño de ventanas?

Tipos de arquitecturas

Hasta donde se, Bloc vendría a ser más bien un patron de diseño, google lo creo para brindar a los desarrolladores una forma limpia de manejar los estados de los widgets.

Siempre desarrollado, pero sin tener en cuenta ese tipo de información como lo son las arquitecturas. Leyendo los comentarios quizás para algunos sean demasiados básicos, pero para mí no hay mejor forma de aprender que iniciando por lo básico 🤓

Muchas gracias por tus aclaraciones, que opinas sobre la tecnología React Native, Flutter es mejor?
Saludos

Vamos con toda, excelente clase

Tenemos también a Provider.

La arquitectura de software nos permite tener el código para que todo el equipo pueda verlo.

BLoC

Interesante!!

Arquitectura de Software:
Que clases, que paquetes tienen nuestro proyecto y como se relacionan esos paquetes entre si. Nos habla de manejar correctamente las dependencias entre los paquetes para evitar ciclos . Así como de proteger los componentes que difíciles de modificar haciendo que no dependan de componentes que cambiar con frecuencia(volátiles ) entre muchas cosas más, es un tema muy amplio en el cual se habla también de:
Estilos arquitecturales, patrones arquitectónicos,SOLID aplicados a
la arquitectura etc.
Y como lo dice @anncode cada proyecto tiene su propia arquitectura.

Más que excelente, a aprender…

Se encarga de estructurar y diseñar el proyecto. Mantener el código organizado y todas las partes del software bien estructuradas.

vamos con todo

Me hubiese gustado mucho que la profe compartiera los slides del curso, como en el Curso pasado de Flutter. Realmente ayudan mucho a sintetizar el conocimiento y a verlas como una referencia

Aclaradas ciertas dudas 😉

Ya me estoy emocionando 😁

A veces me pregunto si para este tipo de _framework _que tienen un aire a React será mejor implementar arquitecturas como Atom Design a pesar de que esto se ocupe más en framework como Next o Gatsby.

Dejaré esto por si alguien le interesa:
LINK

Pienso que indepedientemente de cuántas profesionales compongan el equipo de desarrollo, así esté yo solamente, es muy importante implementar una arquitectura de software. Esto ayudará mucho a organizar el desarrollo del proyecto en varias partes, definir problemas y soluciones [email protected] y permite un mejor seguimiento del mismo durante el desarrollo y durante el mantenimiento del mismo.