Best Practices
- Enable high-quality digital experiences leveraging best practices such as Material.
- Enable shipping new features faster with OOTB libraries such as Material-UI React UI.
- First class Typescript build support
- Opinionated: automated way to perform repetitive tasks e.g.: via CLI commands such as create-plugin, start-plugin, start-dev-plugin
- Reusable: ability to reuse the same pattern to inject data in common UI components such as Lists, Tables and others (e.g. here).
- More specifically, similar data and properties to pass data between components.
- Ability to fetch data from external sources, incl. popular API backends such as GraphQL
- Built in authentication, authorisation and test framework with mainstream frameworks, e.g.: passport.js, jest, etc
- About the structure:
- a plug-in should be deployable as a self-contained webapp
- A plug-in should contain one or more components.
- A component should have ideally:
- No more than one UI component to increase reusability.
- No more than one data source/back end, which can be provided by:
- A micro-service within the same domain or
- External source via service proxy (like Nginx, HAProxy, etc.) to work around CORS policies.
Notes
- The following items are inspired in Spotify’s backstage per instructions here:
Pending to document
- Metadata (tags)
- Rich ecosystem of existing plug-ins (sample here).
- ADR plug-in https://github.com/backstage/backstage/tree/master/plugins/adr
- DORA metrics plug-in: https://github.com/OkayHQ/backstage-plugin
Deja un comentario