dotnet / MobileBlazorBindings

Experimental Mobile Blazor Bindings - Build native and hybrid mobile apps with Blazor
MIT License
1.2k stars 170 forks source link

Release Notes for Mobile Blazor Bindings Preview 5 (0.5.50-preview) #207

Open Eilon opened 3 years ago

Eilon commented 3 years ago

What's new?

More details in the announcement blog post: https://aka.ms/mbb-preview5-blog

Known issues

More information

ktaze1 commented 3 years ago

Great work @Eilon and everyone who worked on this! Thanks for all the effort.

Quick question about migration: you mentioned that for Android project we should add constructor argument to App constructor but which package does AssetFileProvider belong to? I've got an error on LoadApplication(new App(new AssetFileProvider(Assets, "wwwroot"))); line stating AssetFileProvider type or namespace could not be found.

Eilon commented 3 years ago

Ah, you might have to import the Microsoft.MobileBlazorBindings.WebView.Android namespace!

Eilon commented 3 years ago

I updated the docs to mention the namespace (it should be live very soon). Thank you for checking out the project and trying it out! We're always happy to hear any feedback you have to share!

dhindrik commented 3 years ago

What is the reason that we need Edge Canary? And why will it not work on Mac? If Edge Canary is needed it is also available for Mac.

Sorry if this was the wrong place to ask the question.

Eilon commented 3 years ago

@dhindrik - Edge Canary is needed only for now because that's what the WebView2 native control requires. We will soon update to the RTM WebView2 for Windows so there's a separate installer for that version of WebView2.

For Mac we'd like to consider WebView2 as well but I don't think it's ready for us to use. (We don't need just Edge Canary - we need WebView2 itself.)

dhindrik commented 3 years ago

@Eilon thank you for answering! It would be great to use Visual Studio for Mac, I think that many Xamarin developers have Mac as their primary machine, even if is not as many as that have Windows.

Eilon commented 3 years ago

It would be great to use Visual Studio for Mac

Visual Studio for Mac is fully supported with Mobile Blazor Bindings! The same instructions in Visual Studio for Windows also work on the Mac! If you haven't tried it out yet, I recommend it!

dhindrik commented 3 years ago

Great! I tried before, but I never got hybrid apps working. And when I looked at the Prerequisites and only windows (see attached image) are in the list for hybrid apps I assumed it will not work in VS for Mac. I will give it a new chance.

Screenshot 2021-01-18 at 19 52 03
Eilon commented 3 years ago

Oh sorry that might not be as clear as it should be. For hybrid apps on Windows there is 1 extra requirement. On Mac there's nothing extra.

I've updated the docs to hopefully make this more clear: https://github.com/MicrosoftDocs/mobile-blazor-bindings/commit/8ce43570c5e70fb9f423f6dc1c1320743751ce9b (the update won't go live until the next release, but it's staged for now).

dhindrik commented 3 years ago

Nice! Thank you for your fast answers. I tried again and now it works. It was an earlier version I tried last time.

jorgepluna commented 3 years ago

Eilon,

This is fantastic work! We have some projects for big corporations for which we could use this technology. However, we would like to know first if you have any idea of when if at all this product will be released as a production ready technology? and when?

Thank you so much!

Eilon commented 3 years ago

Hi @jorgepluna we are working on making some of the components in this repo into official parts of .NET Core 6.

You can track the following .NET 6 work items regarding hosting Blazor Web components in Windows and macOS apps:

arivera12 commented 3 years ago

@Eilon I think u missed the support for the IJSRuntime on the what's new section and that current blazor web apps based on blazor web assembly are now portable to MBB.

Eilon commented 3 years ago

@arivera12 ah yeah I think for me that's conceptually included as part of this one:

  • Build your UI in a Razor Class Library (RCL) and share the same UI between web app and native app (community contribution from Jan-Willem Spuij)

Because to truly support an RCL you kind of need IJSRuntime or else too many things won't work (as I think you found out 😄 ).