Mwm
1.0.0
使用XAML标记语言构建Web接口,并将其绑定到相同的视图模型中,而不是您的移动或桌面应用程序。
MWM纯粹是实验性的。绝对不认为这已经准备就绪,这更多地是在ASP.NET Core和WebSocket上进行幼稚实现的概念验证。
求助:这只是我在我还不知道的技术上玩得开心!您可以期待丑陋的代码和不良的体系结构,因为所有这些都是一口气……没有干净的设计阶段。
此外,它仅通过Google Chrome进行了测试 - 版本59.0.3071.115(64位)和Firefox -54.0版,在MacOS 10.12上运行。

home.xaml
< Page
xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
xmlns : x = " http://schemas.microsoft.com/winfx/2006/xaml "
x : Class = " Mwm.Sample.Home " >
< StackPanel Margin = " 10 " >
< TextBlock x : Name = " title " Margin = " 10 " Text = " Count: 0 " />
< Button Margin = " 10 " Text = " +1 " Click = " Add " />
</ StackPanel >
</ Page >home.xaml.cs
namespace Mwm . Sample
{
using System ;
public partial class Home
{
public Counter ( )
{
this . Initialize ( ) ;
}
private int count ;
private void Add ( object sender , EventArgs args )
{
this . title . Text = $ "Count: { ++ count } " ;
}
}
}startup.cs
public void Configure ( IApplicationBuilder app , IHostingEnvironment env , ILoggerFactory loggerFactory )
{
loggerFactory . AddConsole ( Configuration . GetSection ( "Logging" ) ) ;
loggerFactory . AddDebug ( ) ;
app . UseWebSockets ( ) ;
app . UseMwm ( new MwmOptions
{
UIBuilder = new FactoryBuilder ( ) . Register < Home > ( ) ,
} ) ;
} 克隆存储库并启动MW.Sample项目,以预览三个样本:



屏幕截图很快...
所有逻辑均由ASP.NET核心中间件执行,该中间件发送并收听Web应用程序中的命令。所有属性更改,用户交互事件,导航将通过Websocket传播给JavaScript客户端。
详细信息:mwmmiddleware.cs,element observer.cs
从地面构建了自定义的简化XAML层以控制。目前,组件和一代非常基本。所有XAML将在构建时间生成C#文件。从理论上讲,相同的概念应适用于xamarin.forms ,但还有更多的工作。 :)
详细信息:mwm.ui,mwm.ui.xaml.build
欢迎捐款!如果您找到错误,请报告它,如果您想要一个功能,请报告。
如果要贡献代码,请提交问题,并在当前开发部分支机构中创建一个分支,然后提交拉动请求。
麻省理工学院©AloïsDeniel