Country: China Type: framework
Chinese Websites: https://eggjs.org/zh-cn/ Enter The Website

Egg.js is designed for enterprise level frameworks and applications, and we hope to foster more upper level frameworks from Egg.js to help development teams and developers reduce development and maintenance costs.
We are well aware that while pursuing standardization and co construction, enterprise level applications also need to consider how to balance the differences between different teams and seek common ground while reserving differences. So we did not choose the common framework of the community's marketplace model (integrating functions such as databases, template engines, front-end frameworks, etc.), but instead focused on providing the core functionality of web development and a flexible and extensible plugin mechanism. We will not make technology selections because fixed technology selections will reduce the scalability of the framework and cannot meet various customization needs. Through Egg, the team's architects and technical leaders can easily extend the framework suitable for their own business scenarios based on their own technical architecture.
Egg's plugin mechanism has high scalability, with each plugin only doing one thing (such as encapsulating Nunjucks templates as egg view nunjucks and MySQL databases as egg mysql). Egg aggregates these plugins through a framework and customizes configurations based on its own business scenarios, which reduces the development cost of the application.
Egg adheres to the principle of 'agreement is better than configuration', and develops applications according to a unified set of agreements. Adopting this approach within the team can reduce the learning costs of developers, and they are no longer 'nails', but can be mobile. A team without an agreement has a very high communication cost, for example, some people may divide the stack by directory while others divide the functions by directory, and developers may make mistakes due to inconsistent understanding. But agreement does not mean poor scalability. On the contrary, Egg has high scalability and can customize the framework according to the team's agreement. Using Loader allows the framework to define default configurations based on different environments, and can also override Egg's default conventions.
Express is a widely used framework in the Node.js community, which is simple and highly scalable, making it perfect for personal projects. But the framework itself lacks conventions, and the standard MVC model will have various strange ways of writing. Egg develops according to the agreement, adhering to the principle of 'agreement over configuration', and has low team collaboration costs.
Sails, like Egg, adheres to the framework of 'agreement over configuration' and has excellent scalability. However, compared to Egg, Sails supports extensible ORMs such as Blueprint REST API, WaterLine, front-end integration, WebSocket, etc., all of which are provided by Sails. And Egg does not directly provide functions, it only integrates various functional plugins, such as implementing plugins like egg blueprint, egg waterline, etc., and then using the Sails Egg framework to integrate these plugins can replace Sails.
Provide the ability to customize upper level frameworks based on Egg
Highly scalable plugin mechanism
Built in multiprocessing management
Developed based on Koa, with excellent performance
Stable framework and high testing coverage
Progressive development