Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
The Fyne project has significant ambitions which will take a long time to realise. To help any potential contributions we have set out this roadmap (which we'd love feedback on). The project is grouped into the main projects involved, each of which which will be split into multiple milestones as they progress.
Every stage of development should follow our design principles as well as exemplifying ease of use for developers and end users.
Basic cross-platform UI toolkit
The aim of this phase is to get a full UI toolkit ready for 3rd party developers. It will be demonstrated by multiple apps and some examples that show how easy it is to use. The work here will include:
- Standard UI toolkit widgets - windows, buttons, menus, layouts, dialogs etc
- Lower level canvas manipulation - exposing drawing primitives through a separate namespace for greater control
- Themes (light and dark) produced following Material Design
- A complete Development environment - IDE, tooling etc standardised for trivial setup
- Bootstrap scripts or apps to ensure any system is ready for Fyne development / runtime
Full featured application framework
This phase provides all the APIs and tools that make it possible to deliver rich, smart UI applications that integrate with all of our supported platforms.
- Higher level interaction and workflow definitions - navigation, toolbars, notifications etc
- Web-service integration for working with cloud services etc
- Multimedia integration
- Interoperability with other applications or UI providers (file pickers, document viewers etc)
- Payment integration
Complete, beautiful desktop environment
The culmination of Fyne's ambition, a fully open source desktop environment to rival the most polished commercial systems.
- Window management and virtual desktops
- Plugins / modules for desktop widgets and accessories
- Delivered as an ISO liveCD or bootstrap UI for existing systems
- Application discovery and management through a central website / app interface
Contributions are not limited to progressing through this list in order, but we wish to be able to focus on the next milestone each time a release approaches so that a quality experience is always maintained for our users.