After almost a years worth of part time work, I now have my cross platform, react native like UI framework in a state where I could "Show Off". There is likely another years worth of polish and feature additions needed before I could publish my work. Still fun to show off at this stage.
Thank you to the SkiaSharp team for making it a reality since the libraries availability is what started the dream which is becoming reality.
- Ability to write applications in .NET Standard 2.0 C# code which could run cross platform on Android, iOS(powered by Xamarin) and Windows, Mac, Linux (powered by .NET core).
- Tired of MvvM and bindings.... Drinking the "React style functional composition based component architecture" koolaid.
- Tired of coding UI's in different languages. (XAML/CS) or (HTML/JS)
- Developer first KISS/'cut the fat' based principles and design.
- Scheduler for Building, Layout, and Rendering Components.
- Component based build process. Similar to 'flutter' Build or how 'React' uses the Render function.
- Facebook YOGA based flexbox component layout.
- SkiaSharp Renderer and Compositor. (Rendering, Clipping)
- Full SVG Rendering Capability
- Bubble and Tunnel Events (Click/Touch, Keyboard, mousewheel) and 'focus'
- Basic Components (Checkbox, ToggleBox, TextBlock, TextBox, ScrollBox, Rows, Columns)
- Interface projects for routing Xamarin.Forms and Winforms host to the UI Framework.
- Theme Support
The Todo List:
- Some more basic component implementation and fleshing out ones I have.
- Advanced text layout concepts. This is a big problem for me right now since proper text layout engine is tough to build and cant find an existing engine in c# or cross-platform implementation with c# bindings.
- Complete interface wrappers for additional functionality.