Crie interfaces da Web com a linguagem de marcação XAML e vincule -a aos mesmos modelos de visualização do que seus aplicativos móveis ou de desktop.
O MWM é puramente experimental . Não se pensa absolutamente pronto para produção, isso é mais uma prova de conceito de uma implementação ingênua no topo do ASP.NET Core e WebSockets.
Para SUMARIZE: SOU SOMENTE EU MEU DIRITO COM TECNOLOGIAS que ainda não conheço! Você pode esperar código feio e arquitetura ruim, pois tudo isso foi feito de uma só vez ... sem uma fase de design limpo.
Além disso, foi testado apenas com o Google Chrome - versão 59.0.3071.115 (64 bits) e Firefox - versão 54.0 , executando no 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 > ( ) ,
} ) ;
} Clone o repositório e inicie o projeto MWM.Sample para visualizar três amostras:



Captura de tela em breve ...
Toda a lógica é executada por um middleware ASP.NET CORE que envia e ouve os comandos de um aplicativo da Web. Todas as mudanças de propriedade, eventos de interação do usuário, navegação são propagadas para o cliente JavaScript através do WebSockets.
Detalhes : mwmmiddleware.cs, elementobserver.cs
Uma camada XAML simplificada personalizada foi construída a partir do solo para controle. Os componentes e a geração são muito básicos no momento. Todo o XAML gerará o arquivo C# no horário de construção. Teoricamente, o mesmo conceito deve ser aplicável a Xamarin.forms , mas com muito mais trabalho. :)
Detalhes : mwm.ui, mwm.ui.xaml.build
As contribuições são bem -vindas! Se você encontrar um bug, denuncie -o e se você deseja um recurso, denuncie -o.
Se você deseja contribuir com o código, registre um problema e crie uma ramificação da filial atual e registre uma solicitação de tração.
Mit © aloïs deniel