Is MAUI really platform independent?

1 Answer 301 Views
DataGrid General Discussions
Rob A.
Top achievements
Rank 2
Iron
Iron
Veteran
Rob A. asked on 25 May 2022, 09:55 PM | edited on 25 May 2022, 10:17 PM

The project I'm working on is .NET 6 Core web API using MS SQL and MySQL along with Angular for UI.

I'm researching Angular but it does seem a little archaic in this day and age as a UI solution (most compatible, but least functional and more difficult to build a UI).  My project requirements are:

1.  Must run on Windows

2.  Must run on macOS

3.  Must run on iOS

4.  Must run on Android

5.  Must run on all web browsers

MAUI seems like a good fit, HOWEVER, it doesn't seem to support client/server (aka web deployments on IIS or Apache)?

Some questions:

a.  Is there really only ONE code path for all of the above deployments?

b. How easy is it to build a package for deployment ... docker?

c.  Reading the documentation and data binding seems easy and consistent with other technologies using in the Telerik space, HOWEVER, the datagrid suggests it's only supported in iOS and Android (not windows)?

d. Blazor seems to be required for doing web UI, how does that work with MAUI?

Cheers, Rob.

1 Answer, 1 is accepted

Sort by
0
Didi
Telerik team
answered on 27 May 2022, 11:53 AM

Hi Robin,

Thank you for your interest in Telerik UI for .NET MAUI. 

Let me get straight to the questions:

1) Running app on Windows, macOS, iOS, and Android - you can use the .NET MAUI application. For more details about .NET MAUI - refer to the Microsoft documentation.

2) Running app on web browsers.

For this option, you will need to create a different application, for example using blazor technology. 

3) Blazor seems to be required for doing web UI, how does that work with MAUI? 


With MAUI Blazor Hybrid, you essentially get a special WebView called a BlazorWebView which lets you render razor components.

There is a Telerik Blazor MAUI example in GitHub that you can use as a reference.


4)  Is there really only ONE code path for all of the above deployments?
You can develop .NET MAUI apps that run on Android, iOS, macOS, and Windows from a single shared code-base. If you want a truly native MAUI application with Telerik UI for .NET MAUI controls, you can use the .NET MAUI framework.

Examples: 

Currently, we have three sample applications that show the Telerik UI for .NET MAUI control. More details can be found here: https://docs.telerik.com/devtools/maui/demos-and-sample-apps/overview 

5) Telerik UI for .NET MAUI DataGrid - The control is available for Android, iOS, macOS, and Windows. The documentation is up to date. 
You can check our overview image of how the control looks on four platforms: https://docs.telerik.com/devtools/maui/controls/datagrid/images/datagrid-overview.png 

6) How easy is it to build a package for deployment ... docker?

About docker deployment, this question is not Telerik related question. Deployment is an operation that must be done on your side. More details about docker deployment can be found here: https://docs.docker.com/language/java/deploy/ 

Let me know if you have any additional questions on this.

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Rob A.
Top achievements
Rank 2
Iron
Iron
Veteran
commented on 27 May 2022, 03:46 PM

Hi Didi,

Thank you for the response, much appreciated.  To clarify the MAUI Blazor hybrid is a Web control BlazorWebView contained in MAUI application?  I guess I'm not seeing the connection between MAUI and Blazer in the documentation links other than VS has a template for it?

Once I have the MS MAUI Blazor app setup in VS 2022, I can then add Telerik Blazor (which is ASP.NET core hosted) and Telerik MAUI components (and I would need a Telerik license for both)?  If yes, do both Telerik components (MAUI and Blazor) work the same?  So where does MAUI come into play, just for native Windows/iOS/Android apps? 

I guess I'm having a hard time visualizing the code re-use on the UI side ... seems to me there are two very distinct paths, web app and device app and nothing has really changed in that workflow.  Am I missing something important?

For backend work, I would need to add a .NET 6 Core web API project for my MAUI/Blazor hybrid?  I guess I was hoping for ONE solution fits ALL deployment scenarios, we still seem to be pretty far away from that goal.

Rob.

Didi
Telerik team
commented on 30 May 2022, 11:32 AM

Hi Robin,

.NET MAUI App and .NET MAUI Blazor App are two different applications with different code paths.

Telerik .NET MAUI components work in a .NET MAUI app. 
Telerik Blazor components work in a .NET MAUI Blazor app. These are two different suites with different components. 

for .NET MAUI Blazor examples, the Telerik Blazor team has an example in this GitHub repo: https://github.com/telerik/blazor-ui/tree/master/common/hybrid-blazor-apps. The controls used in the app are Telerik Blazor controls

for .NET MAUI examples, you can check the available examples we have with Telerik UI for .NET MAUI controls.

So you cannot just plug in your existing Blazor view as a .net Maui page. 
What you can do is to have a WebView control in your XAML MAUI app and load the website URL as a WebView source. If the website is adaptive and does not need any local device APIs then you can try the WebView control. 
Note that the WebView displays a remote web page, it is not a native view for the web app. 

 

 

 

Rob A.
Top achievements
Rank 2
Iron
Iron
Veteran
commented on 31 May 2022, 04:55 PM

Hi Didi,

So my quest for a single UI code path for Web, OSX, iOS, Android, Windows desktop is still NOT viable in 2022? 

So 11 year old Silverlight 5 that could have been a viable solution back in 2011 and still no current option in 2022 for single UI/app code path across multiple browsers/platforms?   So a Silverlight "plugin" got replaced by native support of WASM/WASI with the only difference being WASM is technically not a "plugin" and more a native "extension" of a browser that is "sorta" sandbox compliant but since it can be crashed still not really secure.   Too funny, sorry maybe I've been coding to many years (35+) to see how ridiculous of a situation software engineering has reached.  

I'm not seeing how MAUI/Blazor hybrid is going to be any better than Angular and .NET 6 web API?  We don't seem any closer to unification of code paths when it comes to cross platform that includes web front ends.  Just yet another new technology with a different spin but same existing limitations that have been around for decades.

Cheers, Rob.

Didi
Telerik team
commented on 01 Jun 2022, 08:41 AM

Hi Rob,

Thank you for the comments. 

I can suggest you address this feedback to Microsoft. You can submit your requests/issues regarding .NET MAUI frameworks and different platform support options inside the .NET MAUI GitHub repo. 

Telerik UI for .NET MAUI is a UI suite that provides controls for developing .NET MAUI applications. What are the supported platform - this is a .NET MAUI related topic. 

Tags
DataGrid General Discussions
Asked by
Rob A.
Top achievements
Rank 2
Iron
Iron
Veteran
Answers by
Didi
Telerik team
Share this question
or