CursosEmpresasBlogLiveConfPrecios

Screaming Architecture

Clase 5 de 15 • Audiocurso de Frameworks y Arquitecturas Frontend: Casos de Estudio

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    ¿Qué aprenderás en este curso?

    ¿Qué aprenderás en este curso?

    01:35
Arquitectura de Frontend: Conceptos
  • 2
    ¿Qué es la Arquitectura en el Frontend?

    ¿Qué es la Arquitectura en el Frontend?

    03:33
  • 3
    Patrones de arquitectura clásicos

    Patrones de arquitectura clásicos

    05:40
  • 4
    Clean Architecture en el Frontend

    Clean Architecture en el Frontend

    04:48
  • 5
    Screaming Architecture

    Screaming Architecture

    02:26
Frameworks
  • 6
    Tipos de renderizado: Server Side Rendering, Client Side Rendering y modos estáticos

    Tipos de renderizado: Server Side Rendering, Client Side Rendering y modos estáticos

    06:35
  • 7
    Next.js, Nuxt.js, Astro, Remix...

    Next.js, Nuxt.js, Astro, Remix...

    05:44
Más allá del código
  • 8
    Monorepositorios vs. Multirepositorios

    Monorepositorios vs. Multirepositorios

    14:00
  • 9
    Flujos de trabajo en Git para trabajar en equipo

    Flujos de trabajo en Git para trabajar en equipo

    16:23
  • 10
    Objetivo: crear una plataforma web

    Objetivo: crear una plataforma web

    04:28
Tendencias en la arquitectura
  • 11
    La mala fama de los monolitos

    La mala fama de los monolitos

    03:06
  • 12
    Microfrontends: ¿qué son y cuándo usarlos?

    Microfrontends: ¿qué son y cuándo usarlos?

    02:52
  • 13
    Backend for Frontend

    Backend for Frontend

    04:33
Síguientes pasos
  • 14
    ¿Cómo elegir mi arquitectura de frontend y framework?

    ¿Cómo elegir mi arquitectura de frontend y framework?

    04:00
  • 15
    ¿Y ahora por dónde sigo?

    ¿Y ahora por dónde sigo?

    02:25
    Giuliano De Leonardis

    Giuliano De Leonardis

    student•
    hace 3 años

    Screaming Architecture

    • En lugar de tener carpetas como components, reducer, actions, api, etc., uses los objetos de tu negocios como carpetas. Es decir, si tiene un proyecto de una tienda online, tendrias carpetas como: products, users, orders, etc; y dentro es que tendrías las implementaciones según el stack tecnológico que has escogido.
    • Es poner tu negocio o el valor de tu producto en un nivel superior en la jerarquía.
    • La tecnología que usamos está al servicio del negocio y no al revés.
      Miguel Ángel Durán García

      Miguel Ángel Durán García

      teacher•
      hace 3 años

      Lo fácil que suena y lo complicado que es luego en la practica. :)

      Giuliano De Leonardis

      Giuliano De Leonardis

      student•
      hace 3 años

      Como muchos aspectos de la vida profesor.

      La programación es un área de desenvolvimiento del ser humano, y tal desenvolvimiento es mejor (para nosotros y los demás) que tenga una estructura ordenada y coherente... tal cual una cita literaria, jejeje : )

    Adriel Francesco Pezo Vizcarra

    Adriel Francesco Pezo Vizcarra

    student•
    hace 3 años

    Buena idea. Un dolorcito de cabeza hoy, pero a futuro nos ahorrará problemas y dinero

      Miguel Ángel Durán García

      Miguel Ángel Durán García

      teacher•
      hace 3 años

      Totalmente, muy importante para hacer el código mantenible y escalable en el futuro!

    Beicker Jesus Zambrano Escalona

    Beicker Jesus Zambrano Escalona

    student•
    hace 3 años

    Hola amigos, se me estaba haciendo algo dificil entender como implementar todo esto, personalmente se me hizo un poco corto el video pero luego de buscar un rato acá les dejo este recurso que creo que profundiza un poco más sobre como implementar esto especificamente en React.js

    https://profy.dev/article/react-folder-structure#exit-group-by-features

    Cesar Eduardo Valle Pino

    Cesar Eduardo Valle Pino

    student•
    hace 3 años

    Intentando comprender Clean Architecture, inicie un proyecto separándolo en módulos diferentes, colocando una carpeta para cada módulo y dentro de cada módulo seguir un MVC. Desconocía el término Screaming Architecture, que gracías a este curso lo he conocido, con el tiempo me ha facilitado la existencia guiarme por los nombres de los módulos, sobretodo cuando hay que realizar actualizaciones sobre módulos que tienes meses de no trabajar.

      Miguel Ángel Durán García

      Miguel Ángel Durán García

      teacher•
      hace 3 años

      Me alegro que hayas aprendido algo nuevo! :)

    Ivan Camilo Buitrago Buitrago

    Ivan Camilo Buitrago Buitrago

    student•
    hace 2 años

    El patrón de arquitectura "Screaming Architecture" se enfoca en organizar el código alrededor de los objetos de negocio, en lugar de seguir una estructura convencional de carpetas como "components", "reducers", "actions", "api", etc.

    En lugar de eso, se utilizan carpetas que representan los objetos de negocio, como "products", "users", "orders", etc. Dentro de estas carpetas se encuentran las implementaciones correspondientes a ese objeto de negocio, según el stack tecnológico elegido.

    La idea detrás de este patrón es poner el negocio y el valor del producto en un nivel superior de la jerarquía, de modo que la tecnología utilizada esté al servicio del negocio, y no al revés.

    Esto significa que la estructura del código refleja directamente la estructura del negocio, lo que facilita la comprensión y el mantenimiento del código a largo plazo.

    Algunas ventajas de este enfoque:

    • Enfoque centrado en el negocio: La estructura del código se alinea directamente con los objetos y procesos del negocio, lo que lo hace más intuitivo y fácil de entender.
    • Facilita la comunicación: Al organizar el código en torno a los objetos de negocio, es más sencillo comunicar y explicar la estructura de la aplicación a las partes interesadas del negocio.
    • Mantenibilidad mejorada: Los cambios en el negocio se reflejan más fácilmente en la estructura del código, lo que facilita su mantenimiento a lo largo del tiempo.
    • Escalabilidad: Al tener una estructura orientada al negocio, es más sencillo escalar la aplicación a medida que el negocio crece y se expande.

    En resumen, Screaming Architecture pone el énfasis en la estructura del negocio, en lugar de la estructura técnica, lo que facilita la comprensión, el mantenimiento y la escalabilidad del código a lo largo del tiempo.

    Juan David Casseres Rodríguez

    Juan David Casseres Rodríguez

    student•
    hace 3 años

    Esto sería algo como DDD?

      Miguel Ángel Durán García

      Miguel Ángel Durán García

      teacher•
      hace 3 años

      Están relacionados. Pero podrías hacer Screaming Architecture sin usar DDD. Pero si usas DDD, tendrás que seguir Screaming Architecture.

    Félix Alejandro Zelaya Orellana

    Félix Alejandro Zelaya Orellana

    student•
    hace 3 años

    Genial, voy a implementarlo!

    Johanna Apure Canónico

    Johanna Apure Canónico

    student•
    hace 3 años

    Yo lo aplicaría para las vistas, el nombre de las carpetas definen a que rol pertenecen, pero en caso de que se comparta alguna vista a 2 roles ya habría que basar el nombre de las carpetas a lo que gestionan: productos, roles, publicidad, etc

    Alvaro Rafael Guete Puello

    Alvaro Rafael Guete Puello

    student•
    hace 7 meses

    Totalmente de acuerdo con el enfoque de Screaming Architecture. La idea central es que, al observar la estructura de un proyecto, debe gritar de qué se trata el negocio, no qué tecnologías usa.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads