Here are the list of common concept, Typically required by any application(Web/Mobile/Desktop).
- List pre-build components or widgets.
- Customize of UI/Themes
- Localizations i18
- Navigation/URL Routing
- State Management
- Singleton Services
- Networking capabilities (Like HTTP, WebSocket, UDP)
- Local Storge – Cache/Cookies/AppData
- Observer Design Pattern
- Multi Threading
- Access to Life cycle methods of component/class/widget
- Exception handling
- Database accessibility – NoSQL and SQL
- Drawing and Animation
- Hot Restart
- Access to native device capabilities like Files/Camera/GPS.
- Testing – Unit and System Testing
- Observability – Three pillars Metrics, Traces, and Logs.
- Authentication & Authorization
- CI & CD
- Orchestration – Docker, Kubernetes
- Single Node Cluster
- Multi-node Cluster
- Disaster-proof Cluster