Architecture
Code Sharing
- Bit - Toolchain for composable software development.
- Lerna - Based on Yarn Workspaces.
- npm workspaces - Lower-level multi-package setup that creates symbolic links for shared packages in the node_module directory.
- nx
- Rush
- Yarn Workspaces - Lower-level multi-package setup that creates symbolic links for shared packages in the node_module directory.
Backend for Frontend
The Backend for Frontend (BFF) pattern is a variation of the API Gateway pattern. They became architectural patterns due to backend microservices being used by different client types. For BFF, that especially applies if these parts are being maintained by different teams. The idea is to build simple backends that use these microservices and aggregate the data to be consumed by (specific types of) clients. The business logic remains in the microservices rather than in the BFF. Each client team is responsible for both the frontend and their respective BFF. [samnewman.io, learn.microsoft.com, manuelkruisz.com]