.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 .
- Use visual studio 2019
- Build roslyn-csx first
- roslyn-csx/build-csx.ps1
- Run sln and enjoy
- 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>
- Element Children
- Attributes(Props)
- String Attributes
<tag att="hello" />
- C# Expression Attribute
<tag att={$"hello {name}"} />
- String Attributes
- Self Closing Tag Element
- Create compile tool from csx to wasm
- .csx => .cs
- .cs => .wasm (using mono)
- Multiplatform
- Core
- Dotnet Standard
- Renderer
- Web (wasm)
- Game (Unity)
- Mobile (Xamarin)
- Desktop (Electron, Avalonia, WPF or UWF)
- Core
- Multi Thread Support using Task(async, await)