general.mdc 1.3 KB

123456789101112131415161718192021
  1. ---
  2. description: General overview and context
  3. globs:
  4. alwaysApply: true
  5. ---
  6. # Project Description
  7. This is the official NiceGUI repository. With NiceGUI you can write graphical user interfaces which run in the browser. It has a very gentle learning curve while still offering the option for advanced customizations. NiceGUI follows a backend-first philosophy: it handles all the web development details for the developer, so they can focus on writing Python code. This makes it ideal for a wide range of projects including short scripts, dashboards, robotics projects, IoT solutions, smart home automation, and machine learning.
  8. # Technical Stack
  9. - Python/FastAPI for the backend
  10. - Vue/Quasar in the frontend
  11. - socket.io for communication between frontend and backend
  12. # Design Decisions
  13. - All user interactions are send to the backend and invoke the proper Python functions.
  14. - Unlike Streamlit the framework took much care to allow easy integration with any other Python libraries.
  15. - NiceGUI only uses one uvicorn worker (to not have to implement/support tricky synchronization).
  16. - The socket.io library is used for managing web sockets. After the initial content is loaded a web socket connection is established and kept open for communication as long as the web page is shown.