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