Erstellen Sie Web -Schnittstellen mit XAML -Markup -Sprache und binden Sie sie an dieselben Ansichtsmodelle wie Ihre mobilen oder Desktop -Anwendungen.
MWM ist rein experimentell . Es wird absolut nicht angenommen, dass es produktionsbereit ist. Dies ist eher ein Proof-of-Concept einer naiven Implementierung neben ASP.NET Core und WebSockets.
Um zu sumarisieren: Ich habe nur Spaß mit Technologien, die ich noch nicht kenne! Sie können hässlichen Code und schlechte Architektur erwarten, da all dies auf einmal gemacht wurde ... ohne eine saubere Designphase.
Darüber hinaus wurde es nur mit Google Chrome - Version 59.0.3071.115 (64 -Bit) und Firefox - Version 54.0 getestet, die auf MacOS 10.12 ausgeführt werden.

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 > ( ) ,
} ) ;
} Klonen Sie das Repository und starten Sie das MWM.Sampample -Projekt, um drei Muster anzunehmen:



Screenshot bald ...
Die gesamte Logik wird von einer ASP.NET -Kernmiddelware ausgeführt, die Befehle aus einer Web -App sendet und anhört. Alle Eigenschaftsänderungen, Benutzerinteraktionsereignisse und Navigation werden über WebSockets an den JavaScript -Client verbreitet.
Details : mwmmiddleware.cs, elementObserver.cs
Eine benutzerdefinierte vereinfachte XAML -Ebene wurde zur Kontrolle von Ground -up gebaut. Die Komponenten und die Generation sind momentan sehr einfach. Alle XAML generieren C# -Datei zum Erstellung. Theorisch sollte das gleiche Konzept auf Xamarin.Forms anwendbar sein, aber mit viel mehr Arbeit. :)
Details : mwm.ui, mwm.ui.xaml.build
Beiträge sind willkommen! Wenn Sie einen Fehler finden, melden Sie ihn bitte und wenn Sie eine Funktion wünschen, melden Sie ihn bitte.
Wenn Sie Code beitragen möchten, stellen Sie bitte ein Problem ein und erstellen Sie eine Filiale aus der aktuellen Entwicklerzweig und stellen Sie eine Pull -Anfrage ein.
Mit © Aloïs Deniel