Skip to content

namse/DotnetUI

Repository files navigation

DotnetUI

.csx file (React in C#) => WebAssembly

Simply saying, it's React in C#. React use jsx. DotnetUI use csx. CSX file is CSharp file but we can use xml syntax like .

How to test

  • Use visual studio 2019
  • Build roslyn-csx first
    • roslyn-csx/build-csx.ps1
  • Run sln and enjoy

I'm Working In Process for Prototype

  • Implement Component Managing System like React
    • No Reconciliation for prototype! Just redraw everything on changes.
    • Redraw on state changed
    • Redraw on props changed
  • Implement Csx Compiler (https://github.com/namse/roslyn-csx)
    • Self Closing Tag Element <tag />
    • Open Close Tag Element <tag></tag>
    • Parse Children <tag>{{here}}</tag>
      • Element Children <tag><tag></tag></tag>
      • Text Children <tag>"hi"</tag>
      • C# Expression Children <tag>{$"hello {name}"}</tag>
    • Attributes(Props)
      • String Attributes <tag att="hello" />
      • C# Expression Attribute <tag att={$"hello {name}"} />
  • Create compile tool from csx to wasm
    • .csx => .cs
    • .cs => .wasm (using mono)

Big Picture

  • Multiplatform
    • Core
      • Dotnet Standard
    • Renderer
      • Web (wasm)
      • Game (Unity)
      • Mobile (Xamarin)
      • Desktop (Electron, Avalonia, WPF or UWF)
  • Multi Thread Support using Task(async, await)

Releases

No releases published

Packages

No packages published

Languages