Reynaldo Fuentes Garcia
Alejandra Espinosa
gracias por el aporte!!
Jimmy Buriticá Londoño
Excelente aporte
Ahora que ya conoces qué implica trabajar con una arquitectura de CSS, estudiemos las más comunes cuando se manipula código CSS.
Qué es CSS orientado a objetos
La arquitectura OOCSS (Object Oriented CSS) consiste en separar la estructura principal y la piel o máscara.
En otras palabras, consiste en tener objetos que son estructuras principales. Estos objetos estarán unidos en una máscara, donde esta será la que cambie pero manteniendo la estructura intacta.
Qué es BEM: bloque, elemento y modificador
La arquitectura BEM (Block-Element-Modifier) es una de las más utilizadas actualmente. Consiste en manejar los elementos en clases definidas por bloques, elementos y modificadores.
Puedes revisar más sobre esta arquitectura en el siguiente artículo:
Qué es la arquitectura escalable y modular de CSS
La arquitectura SMACSS (Scalable and Modular Architecture for CSS) indica el orden de componentes que estarán ubicados en carpetas. La unión de estos componentes dará como resultado tu página web con estilos.
Qué es el triángulo invertido de CSS
La arquitectura ITCSS (Inverted Triangle CSS) consiste en separar los archivos del proyecto; mediante ajustes, herramientas, elementos, entre otros. Todo esto para manejar los detalles de especificidad, claridad y magnitud.
Qué es el diseño atómico
La arquitectura Atomic Design también es una de las más utilizadas actualmente. Consiste en manejar los elementos como una estructura mínima, a partir de la unión de varias de estas, dará como resultado los estilos de la página web. Se basa en la estructura mínima de la materia, los átomos.
Contribución creada por Andrés Guano (Platzi Contributor).
Reynaldo Fuentes Garcia
Alejandra Espinosa
gracias por el aporte!!
Jimmy Buriticá Londoño
Excelente aporte
Hernán Josué Hernández Lamprea
Los apuntes de la profe pero en una sola imagén
Rolando Mamani Salas
Muchas Gracias !
Samuel Suárez
¡Muchas gracias!
Leonard L
Joe Suárez
Muchas gracias por tu aporte, va directo a mi Notion.
Andres López
Gracias, con tus apuntes me quedo más claro que hace cada arquitectura
Jesus Eduardo Sanchez Baños
👀Esta pagina me ayudo con la documentación de BEM:
Joel Dominguez Merino
Gracias @EduarXenix! Ya la agregue a mis recursos, procurare realmente darle una checada 🤔
Rolando Mamani Salas
Muchas Gracias !
Juan camilo piedrahita londoño
Les recomiendo este video. Para saber mas de BEM.
https://www.youtube.com/watch?v=bvnzyXGkNY4&ab_channel=FalconMasters
Joalin Pineda
¡Hola! :D Que bien, yo sigo mucho el contenido de ese canal. Muchas gracias por el aporte. 👌
¡Nunca pares de aprender! 💚
Jhoana España Urresty
Daniel Reymundo
Gracias compañera
Angelo Leva
Algo que es bueno anotar, es que no debemos cerrarnos a trabajar con solo una arquitectura. Podemos mezclarlas para obtener mejores resultados.
Por ejemplo, yo extraigo cosas de SMACSS y BEM en base a mis requerimientos para los proyectos en los que trabajo.
Jonathan Ferrer
Una buena pagina donde se explican con ejemplos estas metodologías con ejemplos
Luis Rodríguez
Esta excelente. Muchas gracias :) .
Cristian Acevedo
muy buena pagina
Ana Rotela Cabrera
En esta página se encuentra contenido muy interesante del uso de BEM para CSS
https://9elements.com/bem-cheat-sheet/
Rafael Martínez Rodríguez
Muchas gracias por compartir este aporte
David Limon
Marcos Monteverde
gracias!!
Pablo Alejandro Figueroa
gracias...!!
Miguel Ángel Ramón Candia
Hola 👋🏻
Qué recomiendan, empezar aprender una metodología o seguir aprendiendo hasta tener un nivel más sólido en HTML y CSS para después aprenderla?🤔 Y Más adelante en la ruta se enseña una de estas metodologías?🤔
Gracias!! 😄
Tania Sosa
¡Hola Miguel Angel! 😄
Te recomiendo comenzar con un curso básico de HTML y CSS para que aprendas su sintaxis, como funciona y después ya aprendas a utilizar un framework o algunas de las metodologías que nos menciona la Profesora en esta clase. Será más fácil para ti implementarlas y podrás resolver los bugs que se te presenten de manera más fácil.
Nunca pares de aprender 💚
Miguel Ángel Ramón Candia
Muchísimas gracias!! ahora me siento más seguro en seguir con los cursos 😄
Nunca pares de aprender 💚
Obed Paz
llevo en desarrollo frontend 2 anios y ando por aca nomas rerfrescando cositas de css puro, lo cierto es que casi nunca se siguen al pie de la letra estas arquitecturas, lo mas comun es ver que se toma lo mejor de cada una y combiarlas dependiendo de las necesidades de cada proyecto.
Salomon Moreno
Notes:
Carlos Ramos
Clase 21 - OOCSS, BEM, SMACSS, ITCSS Y Atomic Design
¿Cuáles son las arquitecturas CSS más usadas?
¿En qué consiste la arquitectura OOCSS?
¿En qué consiste la arquitectura BEM?
¿En qué consiste la arquitectura SMACSS?
En qué consiste la arquitectura ITCSS?
¿En qué consiste la arquitectura Atomic Design?
Dimas Antonio Mendoza Lozano
Tengo una pregunta aca, osea que Atomic Design es lo que normalmente predomina en el mundo de Frontend y estos son combinados con BEM y demas? O simplemete No se puede combinar lo mejor de dos mundos?
Lucas Frezzini
Son dos cosas distintas y super combinables entre sí. De hecho es una gran práctica poder hacerlo con muchos beneficios. BEM es una tecnica de nomenclatura y orden logico de las cosas. Atomic es una tecnica de composicion de componentes. Ambas combinables sin lugar a dudas.
Hernán Josué Hernández Lamprea
Gracias por el dato Lucas
Ramón Morales
Hola! ¿Se tiene que usar o saber todas estas metodologías al trabajar con css?
Sura Naileth Cedeño Lopez
Team PlatziHola:wave: puedes elegir una al hacer tus proyectos pero puede ser que cuando empieces a trabajar ellos usen una distinta entonces tendría que adecuar la metodología, no deberías saberlas todas pero si de que van y en caso que necesites usar una en especial ya tendrás las bases.
Wilfer H. Oquendo Ruiz
Saludos, @platzi, en dónde encontramos y descargamos el cuaderno con las notas del curso que prometió la profesora Estefany Aguilar al inicio del curso? Muchas gracias,
Omar Daniel Centeno
Hola
Me podrías compartir en qué clase lo menciona la profesora para revisar por favor.
Saludos
Eloy Chávez Dev
Holiiii 👋🏻
Te comparto aquí el link, estaba efectivamente en la sección de recursos de la primera clase :)
Marcos Monteverde
@youtube
Alex Antonio Angulo Luna
Aqui les dejo un enlace de interes here
Las Metodologías o Arquitecturas CSS nos ayudaran a escribir código CSS más predecible, reutilizable, mantenible y escalable. CSS orientado a objetos (OOCSS) CSS orientado a objetos (OOCSS) nos permite separar el contenedor y el contenido con “objetos” CSS
Al igual que con cualquier método de codificación basado en objetos, el objetivo de OOCSS es fomentar la reutilización del código y, en última instancia, hojas de estilo más rápidas y eficientes que son más fáciles de agregar y mantener.
Estructura y piel separadas.
Contenedor separado y contenido
Blocks, Elements and Modifiers (BEM) BEM es una abreviatura de los elementos clave de la metodología: Bloque, Elemento y Modificador. BEM significa Modificador de Bloques de Elementos (Block Element Modifier) por sus siglas en inglés. Sugiere una manera estructurada de nombrar nuestras clases, basado en las propiedades del elemento en cuestión. Cuando utilizamos la metodología BEM, hay que tomar en cuenta que solamente podemos usar nombres de clases (no IDs). Los nombres de clases permiten repetir el nombre BEM si es necesario, y crear una estructura de código más consistente (en ambos archivos el HTML y CSS/Saas).
Scalable and Modular Architecture for CSS (SMACSS) En el núcleo de SMACSS (Arquitectura en CSS Escalable y Modular) está la categorización. Al clasificar las reglas CSS, comenzamos a ver patrones y podemos definir mejores prácticas en torno a cada uno de estos patrones. El objetivo principal de esta metodología es reducir la cantidad de código y simplificar el mantenimiento. Para ello, se dividen los estilos en cinco partes:
reset, html, body, button, h1
header, main content, footer, navigation
Scalable and Maintainable CSS Architecture — Xfive ITCSS es una arquitectura que tiene como principal objetivo estructurar la forma en la que escribimos CSS.
Atomic Design El diseño atómico es una metodología para crear sistemas de diseño. Hay cinco niveles distintos en el diseño atómico:
++ARQUITECTURAS CSS++ 📐📏 . . . ++🟢OOCSS(oriented object cascading style sheets)++ Optimiza nuestro código para reducirlo y poder agregar más código de una forma rápida. . Para nuestro ejemplo creamos dos cajas con las mismas propiedades pero de diferente color...
//HTML <div class="caja1"></div> <div class="caja2"></div>
//CSS .caja1 { background: 🟦blue; width: 200px; height: 200px; } .caja2 { background: 🟥red; width: 200px; height: 200px; }
el problema aquí es que estamos repitiendo el código CSS para las 2 cajas cuando solo queremos cambiar de color. La solución a esto es crear una clase que contenga la estructura de ambas cajas.
//HTML <div class="caja azul"></div> <div class="caja roja"></div>
//CSS .caja { width: 200px; height: 200px; } .azul { background: 🟦blue; } .roja { background: 🟥red; }
Como puedes ver la clase ".caja" es la que contiene toda la estructura y con las demás clases ".azul🟦", ".roja🟥" le damos color a nuestras cajas. . OOCSS se utiliza en todos lados y su uso mas cercano está en los Frameworks de diseño web, tal como boostrap, fundation, etc. . . . ++🟢BEM(Block, Element, Modifier)++ Es una convención o metodología para nombrar tus clases de CSS. Sirve: *Para tener un CSS más fácil de leer, entender, mantener y escalar. *Para organizar las clases de CSS en módulos independientes. *Para evitar selectores de CSS anidados. . -Bloque: es el contenedor principal del componente.(card, button, form, menu, header…) -Elemento: son las partes internas que conforman el componente.( icon, text, item, image, input, button…) -Modificador: son las variaciones del bloque o del elemento.(active, big, right, secondary, red…) . Los nombres de clases con convención BEM, pueden tener la siguiente sintaxis:
[bloque] [bloque]__[elemento] [bloque]--[modificador] [elemento]--[modificador] [bloque]__[elemento]--[modificador]
Los guiones bajos (__) se usan para separar el bloque del elemento, Los guiones medios (--) se usan para separar el bloque o el elemento del modificador.
La idea de esta arquitectura es no mezclar código de varias categorías en un solo archivo porque puede ser muy complicado encontrar una línea de código simple para cambiar. La mayor parte del propósito de esta categorización es codificar patrones, cosas que se repiten dentro de nuestro diseño. La repetición resulta en menos código, mantenimiento más fácil y mayor consistencia en la experiencia del usuario.
. . . ++🟢ITCSS( Inverted Triangle CSS)++ Arquitectura CSS del triángulo invertido es una arquitectura escalable y manejable para el CSS. Básicamente son una serie de normas o planteamientos para crear el CSS, como una filosofía. . Ayuda a organizar los archivos CSS de su proyecto de tal manera que pueda manejar mejor los aspectos específicos de CSS, como el espacio de nombres global, la cascada y la especificidad de los selectores .
Nota: Como todo en ITCSS, lo que obtenemos son básicamente recomendaciones. No es que te vayas a descargar una serie de carpetas con archivos de código ya escrito para ti, sino una simple propuesta para satisfacer la mayoría de las necesidades. Tú serás el responsable de crear esas carpetas y empezar a colocar archivos con código en ellas, escribiendo CSS o código en cualquier preprocesador de CSS.
La lista de las carpetas propuestas es la siguiente:
Atomic Design viene a unir el diseño y el desarrollo bajo un concepto: diseñar por componentes.
. Los 5 niveles del Atomic Design
Las ventajas del Atomic Design: -Facilita la creación de la guía de estilo. -Permite hacer más rápido los prototipos, ya que los elementos ya existirán. -Hace más rápido el proceso de actualizar el diseño del producto y/o añadir nuevas funcionalidades, ya que los cambios no harán que se deba programar todo desde cero. -Menos componentes hará el diseño y el código más consistentes y eficientes. -Permite reutilizar átomos para crear cualquier diseño que se requiera.