app icon indicating copy to clipboard operation
app copied to clipboard

Create native Golang UI rendering library

Open magicoder10 opened this issue 6 years ago • 0 comments

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

image

The library has 2 layers:

  1. High level UI widgets: button, textfield, checkbox, etc...
  2. Rendering engine: a) Layout generator b) Object painter c) Layer composer d) Resterizer

Process

  1. Create a design proposal to analyze different design choices. You must include UML diagrams.
  2. Discuss the options with Harry and propose a recommendation.
  3. Revise the design with feedbacks from Harry.
  4. Create Github issues for each deliverables and group them into milestones.
  5. Deliver each sub task with highly readable and reusable code with the team. Unit tests are must.
  6. Provide basic UI component and demonstrate usage with an example.
  7. Document the design and the usage in the README file.

magicoder10 avatar Dec 15 '19 23:12 magicoder10