app
app copied to clipboard
Create native Golang UI rendering library
Background
Currently, there is no easy to use Golang GUI libraries. Go was initially designed for building backend services instead of GUI apps. Electron relied heavily on intermediate JavaScript API and is not meeting the performance bar of complex applications.
Mission
Design and implement high performance and easy to use UI rendering runtime.
Inspiration
Flutter: https://short-d.com/r/flutter
High Level Ideas

The library has 2 layers:
- High level UI widgets: button, textfield, checkbox, etc...
- Rendering engine: a) Layout generator b) Object painter c) Layer composer d) Resterizer
Process
- Create a design proposal to analyze different design choices. You must include UML diagrams.
- Discuss the options with Harry and propose a recommendation.
- Revise the design with feedbacks from Harry.
- Create Github issues for each deliverables and group them into milestones.
- Deliver each sub task with highly readable and reusable code with the team. Unit tests are must.
- Provide basic UI component and demonstrate usage with an example.
- Document the design and the usage in the README file.