←back to thread

304 points vyrotek | 1 comments | | HN request time: 0.2s | source
Show context
mattfrommars ◴[] No.45894761[source]
In the .NET ecosystem, I have noticed people to shame .NET MAUI because Microsoft themselves don't use this framework - Microsoft Team is built on Electron and not MAUI.

Why build a product on MAUI when Microsoft aren't too sure about it.

replies(10): >>45894798 #>>45894820 #>>45894890 #>>45895144 #>>45895166 #>>45895441 #>>45895856 #>>45896444 #>>45896882 #>>45897144 #
Kyrio ◴[] No.45895166[source]
These days, I think Microsoft's web-based desktop apps mostly use WebView2 directly instead of Electron, so they don't have to bundle a browser. I think for Teams it happened at the same time that they moved from Angular to React.

The point about them not using MAUI still stands though. From what I understand, the .NET world has either adopted different abstractions like Avalonia, or stuck with tried and tested solutions like WinForms with proprietary controls. After all, they've seen this before with WPF which was never fully adopted by MS either, or with the debacle around Metro/WinRT. You're never quite sure what Microsoft wants you to use or will support in the long term. They also make Blazor, which is a different (and likely more accessible) way to build web apps with .NET.

Since we're on the subject of companies not dogfooding their shiny tech, is Google really using Flutter for their own apps? I feel like the evolution of the Android ecosystem towards Kotlin and Jetpack Compose implies otherwise.

replies(1): >>45895587 #
weq ◴[] No.45895587[source]
Ive been building these apps (cross platform web based ui, C# backend) for years, and yes its finally good to see MS catch up and validate the architecture ive pushed since Xamarin. I wrote once wrote an electron version of this archand thought wtf are people doing? Things can be so much easier when you use a platform that knows how to multi-thread. At stages i had to build adapters/upstream patches for Chromeiunium directly onto Mac and Linux, and its was a major pain having to debug C calls.

Ive been using the same framework now for 10+yrs on apps in the stores, i wrote a small layer infront of the webviews and can swap out webkit, chrome, edge on demand. You really dont need much, just a constand way to boostrap logic and UI. 90% of code is shared across all platforms, there are def differences in WebView engines that you sometimes come across but those parts just get swapped out with browser specific JS. Ive found bugs and worked with browser teams at all vendors doing this and to see how simple this is with Dotnet these days compared to when i started is refreshing. Its easily the most stable cross-platform framework around, if you are stuck using something like flutter i pitty you, its just eletron with another skin. I can swap out and integrate directly with OS libs when i need to do stuff that the dotnet team hasnt gotten around to yet without re-writing. This has mean i really havnt used MAUI at all, but if i need to or could take advantage of it i can mix it on an Ui element by element basis. I prefer webUIs though, i have the chose to handle anything with either JS, WASM, or a combination. I can use traditional JS frameworks or traditional Native UI frameworks.

If i had started this process later, avalonia seemed to have the closest thing i required. It was just a bit a more complex /based on WinUI (which i dont really enjoy) but it supported all platforms and gave lower level api access. MS were smart, that canabalanised all these community effort and brought them into the fold. Every dotnet webview impl was a successfull community driven project before. They didnt write anything themselves from scratch.

replies(1): >>45895733 #
1. ◴[] No.45895733[source]