Lead Software Engineer
Component-based software engineering (CBSE), also called as component-based development (CBD), is a branch of software engineering that emphasizes the separation of concerns with respect to the wide-ranging functionality available throughout a given software system.
In this day’s Component-Based Architecture is highly popular, each modern UI framework provides component structure approach. Check out this article for pros and cons. What I like the most in CBA is the separation of concerns😎
Whether starting a small project or having a huge one the separation of concerns is going to be a key point for easy maintenance, testability, reusability. If you are UI engineer you should have probably heard about npm package manager. This is a good way to move your reusable components, services there.
Why should I do that? ☝️
1. easy to share between teams
2. integration in one line - import package from ‘package’
5. semantic versioning
6. private or public (community may help to improve)
If you want to have a private packages it is also possible.
As an example you may check this project.
How to create npm package?
In addition, to the separation of concerns, I would like to mention “Pattern library” as a way to collect user interface design elements. Check out this article for more understanding 💪
Some thoughts are here and there:
👏 Thank you for reading. Suggestions, comments, thoughts are welcome 👍