Are you looking for a design system that can help you create beautiful, consistent, and accessible web applications? Do you want to use a framework that is based on web standards, modular components, and open source principles? If yes, then you should check out Continuum Design System (CDS), a new and innovative UI framework for web development.
What is CDS?
CDS is a design system that provides a set of reusable UI components, design guidelines, and tools for web development. CDS aims to help developers and designers create web applications that are:
Beautiful: CDS follows the principles of minimalist and elegant design, using colors, typography, icons, and animations that enhance the user experience and convey the brand identity.
Consistent: CDS ensures that all UI components have a coherent look and feel, and follow the same design standards and best practices across different platforms and devices.
Accessible: CDS adheres to the Web Content Accessibility Guidelines (WCAG) 2.1, making sure that all UI components are keyboard-friendly, screen-reader-friendly, and color-contrast-friendly.
Modern: CDS uses modern web technologies such as Shadow DOM, Custom Elements, ES Modules, and LitElement to ensure compatibility, scalability, and maintainability of CDS components.
Modular: CDS is built on web components, a set of web standards that enable the creation of custom HTML elements with encapsulated functionality and style. Web components allow developers to use CDS components as independent and interoperable units that can be easily integrated with any web framework or library.
Open Source: CDS is an open source project that welcomes contributions from the community. CDS is licensed under the MIT License, which means that anyone can use, modify, and distribute it for free.
Why CDS?
CDS is not just another UI framework. It is a design system that offers several benefits and advantages over other existing solutions. Here are some of the reasons why you should use CDS for your web development projects:
Simplicity: CDS is designed to be simple and intuitive to use. You don't need to learn any complex syntax or configuration to use CDS components. You can simply import them as HTML tags and use their attributes and properties to customize them. CDS also provides clear and comprehensive documentation that guides you through the installation, usage, and customization of CDS components.
Performance: CDS is optimized for performance and efficiency. CDS components are lightweight and fast-loading, using only the essential HTML, CSS, and JavaScript code. CDS also leverages modern web technologies such as Shadow DOM, Custom Elements, ES Modules, and LitElement to ensure compatibility, scalability, and maintainability of CDS components.
Flexibility: CDS is flexible and adaptable to different needs and preferences. You can use CDS components as standalone elements or combine them with other web frameworks or libraries such as React, Angular, Vue, or Svelte. You can also extend or customize CDS components using CSS variables, slots, mixins, or inheritance. CDS also supports theming and internationalization features that allow you to change the appearance and language of CDS components according to your requirements.
Quality: CDS is developed with quality and reliability in mind. CDS components are tested and validated using automated tools such as Jest, Cypress, Lighthouse, SonarQube, etc. CDS also follows the best practices of code quality,
security, accessibility, performance, etc. CDS also has a dedicated team of developers and designers who constantly work on improving and updating CDS components.Developer Experience: CDS is built with developer experience in mind, you get auto-completions, type checking, annotations and many more features in your IDE. CDS also provides a rich sets of tools and utilities that help you with your web development projects. CDS also has a dedicated team of developers and designers who constantly work on improving and updating CDS components.
Current Features
CDS is still in its early stages of development, but it already offers a rich set of features and components that can help you with your web development projects. Some of the current features of CDS are:
Core Components: CDS provides a collection of core components that cover the basic UI elements such as buttons, icons, typography, etc. These components are essential for any web application and can be used in combination with other CDS components or web frameworks.
Lazy Loading: CDS supports lazy loading of components, which means that only the components that are needed for a particular page are loaded. This helps reduce the initial loading time odf your web application and improves the overall performance.
Lightweight: CDS components are lightweight and fast-loading, using only the essential HTML, CSS, and JavaScript code. It costs around 5KB plus 2KB per component in your bundle and thcars the overall size of your web application compared to other UI frameworks.
Performant: CDS components are optimized for performance and efficiency. CDS uses modern web technologies such as Shadow DOM, Custom Elements, ES Modules, and LitElement to ensure compatibility, scalability, and maintainability of CDS components.
Accessible: CDS adheres to the Web Content Accessibility Guidelines (WCAG) 2.1, making sure that all UI components are keyboard-friendly, screen-reader-friendly, and color-contrast-friendly.
Framework Agnostic: CDS is framework agnostic, which means that you can use it with any web framework or library such as React, Angular, Vue, or Svelte. You can also use CDS components as standalone elements without any framework or library.
Customizable: CDS components are highly customizable and extensible. You can use CSS variables, slots, mixins, or inheritance to extend or customize CDS components according to your needs and preferences.
Cross-Browser: CDS components are compatible with all modern browsers such as Chrome, Firefox, Safari, Edge, etc. CDS also supports legacy browsers such as IE11 and Edge Legacy through polyfills.
Future Goals
CDS is an ongoing project that aims to become a comprehensive and robust design system for web development. Some of the future goals of CDS are:
More Components: CDS plans to add more components to its existing collection, covering more UI elements and scenarios. Some of the planned components are radio buttons, date pickers, time pickers, color pickers, etc.
Icon Library: CDS plans to create it's own icon library that suits the theme and feel of Continuum Design System.
Generators: CDS plans to create generators for grain, color palette and gradient for specifically creating CDS components and using in Web applications along with CDS components for a consistent theme.
Plugins: CDS plans to create plugins for popular web frameworks and libraries such as React, Angular, Vue, Svelte, etc. Even though CDS is framework agnostic. These plugins will allow developers to use CDS components with their favorite web frameworks and libraries seamlessly with more features and functionalities.
Playground: CDS plans to create a playground for CDS components where developers can experiment with different themes and variations of CDS components in real-time.
Documentation: CDS plans to improve its documentation by adding more examples, tutorials, and guides for using CDS components in different scenarios.
Community: CDS plans to build a community around CDS where developers can share their experiences, ideas, and suggestions for improving CDS components.
Conclusion
CDS offers a set of reusable UI components, design guidelines, and tools that help developers create web applications that are modern and accessible. In the aspects of both design and development, CDS has unique and efficient approach
If you are interested in learning more about CDS or want to try it out for yourself, you can visit the following links:
- Landing page: https://cds-design.github.io
- Docs: https://cds-design.github.io/docs
- Roadmap: https://github.com/orgs/cds-design/projects/1/views/1?layout=roadmap
- Twitter: https://twitter.com/DesignByCDS
- GitHub:
- Monorepo: https://github.com/cds-design/CDS
- Components Library: https://github.com/cds-design/continuum
We hope you enjoyed this introduction to CDS and found it useful for your web development projects. We would love to hear your feedback and suggestions on how we can improve CDS and make it better for you. You can contact us through our GitHub issues or Twitter account.
Thank you for reading this blog post and stay tuned for more updates on CDS!👋
Top comments (4)
You should redesign the landing page for mobile devices. It's not responsive, thus useless for smartphone users.
Thank you for bearing with us. We are working on it. We never planned the landing page for mobile devices. But we are working on it now and will make it responsive soon.
Follow our us on @DesignByCDS for more frequent updates.
We made it!!!!
Checkout our Landing page now from your mobile.
cds-design.github.io/
Thanks for your suggestion.
You're correct if we use declarative custom elements declaration we can't package it as a single component library.
Currently we are supporting browsers with JS support only. But it is possible to use CDS in non JS environments by using SSR where we will get plain HTML, CDS and tiny bit of JS.
We are constantly exploring more new ways to make CDS supports more features, we'll come up with a way to work on non-JS without SSR.