Common Application(Web/Mobile/Desktop) Development Challenges


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
https://dasschicksal.com/hello-world-flutter-project-structure/