Posted by Anuraj on Monday, July 16, 2018 Reading time :2 minutes
This post about developing ASP.NET Core apps with Xamarin Forms and Ooui. Xamarin.Forms exposes a complete cross-platform UI toolkit for .NET developers. Build fully native Android, iOS, and Universal Windows Platform apps using C# in Visual Studio. And Ooui is a small cross-platform UI library that brings the simplicity of native UI development to the web. In the background, it is also using WebAssembly, like Blazor. Here is a simple console app, which is running a Xamarin Forms code in self hosted mode.
First I created a console application using
dotnet new console command and then added reference of
Ooui library. This app is creating a button in the UI and publishing the page to
http://localhost:8080. You may need to run the app as administrator, either ways you may get an access denied message. You can run the application using
dotnet run, once you run, open browser and try to access localhost:8080, you will be able to see a bootstrap primary button and text will be updated when you click on it.
In this example, you’re running Xamarin Forms but only using code. You can design Xamarin forms with Visual Studio and use it in the application. And you need to add reference of
Xamarin.Forms. Next you can add a new file, and modify the code like this.
Run the application and browse it, you will be able to see the Page running in Browser.
So far we used the Xamarin Forms in Console app. Ooui provides a middleware and Action Result implementation to use it in ASP.NET Core. So to use it with ASP.NET Core, first you need to add the reference of
Ooui.AspNetCore package. Then in the startup code add following code.
Once it is done, you write code to return Page as View like this.
This will return the HelloWorld Page as View, when opening the Index action. Here is the app running on my system.
Both of the frameworks is using Web Assembly. Since Blazor is in very early preview stages, it is difficult to compare, but here is some pros and cons I found while exploring Ooui and Blazor.
Here is few pros and cons about the two frameworks, let me know if you find this post useful.
Happy Programming :)