Closed Takazudo closed 7 years ago
Hi @Takazudo
Modularity can be achieved by sharing what is intrinsic to a design, without having to share the component or module itself.
Typically, design patterns are made up of distinct typography sizes and rhythms, uniform/established patterns of spacing and colours. All of these attributes are easily shared and consumed by modules from common variables and to a lesser degree, mixins.
In some cases, we do directly use Module A within Module B. However, it is almost always preferable, to let Module A and Module B take their own paths, even though they can be created from the same DNA (colours, spacing, typography codified in the variables/mixins/design system). This provides the isolation which is so important to creating code that is simple to remove and grow in whatever form it needs take without worrying about inter-dependency.
Does that answer your question fully?
@benfrain Thank you for your reply, Ben!
I think there are many approaches for design consistency. Your - variable & mixin - based approach sounds that it creates a base stuffs like a thin layer for CSS architecture.
I could notice that there are many ways to do for module oriented architecture. Thanks!
Hi Ben.
I have a question about ECSS architecture approach with pattern library.
I read a book "Atomic Design" which is written about design system. In short, "design system" is a UI pattern library shared with all team members. It says that designing & development with design system is great. It makes the development speed up and helps the design taste stable. (Althogh it is just a mental model of UI design)
I can understand Atomic Design approach very well. I have made many many websites using shared UI components. It reduced my work time and I cound made at lots of pages easily.
Anyway, ECSS respects the "isolation" about CSS code base. I can understand ECSS very well because I had the same problem about complicated CSS code. However, I also think the pattern library approach is also very useful as Atomic Design says.
I read an article which says that your company's web service is using ECSS.
http://bet365techblog.com/large-scale-web-development-using-typescript
In the article, it says that the web service was developed with Modular Design.
And, here's my question.
Let's say that there are "Module A" and "Module B". Each modules has the same style button. The same styled button is used everywhere in the website. With "isolation" strategy, it seems that even if the buttons' CSS are same, its CSS should be in each module.
In the ECSS, you also introduced that globally shared modules are also acceptable using
sw-
(site wide) namespace with care of isolation.When you developed a web service, did you create "globally shared UI modules"? Or you didn't make that kind of site wide modules at all?