-
-
Notifications
You must be signed in to change notification settings - Fork 61
Description
At the beginning, elementary OS set itself apart by creating beautiful applications for Linux, and AppCenter is an example that the goal was (partially) achieved. I propose that Granite evolves into a development framework that makes it easier to create apps for the ecosystem.
Use Cases
- libadwaita: GNOME uses libadwaita to build its core apps and community apps.
- libhelium: This project also started developing its own framework.
- libcosmic: By Pop!_OS for its new desktop environment.
Advantages of transforming Granite into a framework
-
Full control over the interface: Developers would have greater flexibility to generate dynamic and highly customized interfaces directly from code, allowing real-time adjustments and more control over the design.
-
Structure and organization: Providing a predefined architecture would help developers better organize their code and follow good development practices.
-
Reusable components: Include more pre-built widgets and components that developers can use and customize, saving time in UI creation.
-
Modularity and extensibility: Allow developers to add additional functionalities through modules and plugins, making the framework more flexible and adaptable to various needs.
-
Project templates: Tools to quickly start projects with a predefined structure.
-
Services: Implement a service system that allows developers to separate business logic from the UI, facilitating the reuse of common logic (such as API handling, local storage, etc.) throughout the application.
-
Centralized state management: Incorporate a solution to manage the application's state efficiently and reactively, facilitating data exchange between components or windows without relying on manual solutions, ensuring consistency in the UI.
-
Window management system: Include a window and navigation manager to simplify window lifecycle management, enabling efficient and streamlined handling of windows.
Conclusion
Granite has the potential to evolve into a full-fledged framework. These improvements will not only benefit experienced developers but also attract new users interested in greater flexibility, scalability, and control over their applications.