Just because it's the best on that has ever existed, doesn't make it good. It's just the least bad.
>Nobody has ever been able to make this work outside of the web browser.
Sure would be nice if everyone would give up then and we could go back to having nice, native apps using native controls, file operations, encoding, hardware access, performance, UI/UX patterns, and security features, instead of letting all that rot on the vine while we reinvent the wheel on the browser.
People have been trying to make that since the dawn of computers. But designing something like that top-down has proven virtually impossible to get right. Building it bottom-up like we have with HTML, CSS, JavaScript, and now even WASM ensures that what gets built is actually secure and practical. It might not be pretty but it works.
Even performance, which is the number one criticism of electron apps, is something that can be solved. When you Microsoft looking at making the webview a common reuable component again, what is native between something like WPF/XAML and DOM/HTML is merely a matter of perspective.
The web browser features a set of technologies that are standardized across a wide array of different implementations. Except for a few minor differences, you can view a website in Safari, Chrome, FireFox, Edge, Brave, the list goes on.
It's a technological wonder. I'm still amazed people hate on it.
And you’ve ignored the fact that every web view we have had on desktop so far is kinda crappy and sluggish when at least well built native apps generally feel snappy.
Webviews are one step about shitty Java apps (you know the ones) in terms of UI.
Beyond that there’s the RAM usage.
Be no longer amazed that people can have these problems which no web app they have used has overcome on three or four different computing platforms.
As someone who is currently working on several QT apps that also work on mobile: That's an absolute lie. You need a lot of extra work to get it to work on both the desktop and mobile. Realistically you have to build the UI twice, QML is nowhere near as "responsive" as html/css. It's also prone to sluggishness.
I stick with Qt because I enjoy working in C++, it's just simpler to have the whole app in one language. My users also told me they dislike electron like you. But it's very disingenuous to tell people that Qt is "just as easy" to build desktop/mobile hybrid apps, they'll be sorely disappointed if they take your word.
Qt has had decades to win over this space and failed. Github slapped Chromium together with Nodejs and took over the entire market of cross platform GUI development overnight.
I might not like it but I understand it completely.
Because they're fucking Microsoft. Mutilated websites posing as apps are for hobby projects. They're in charge of the vast majority of desktop operating system interaction, if my pitiful 17 dev company can write all-native programs, so can they.
Anyway, they don’t care. Nadella has us all by the monthly subscripted balls.
They really do. A lot of their products feel like a "too many cooks" situation where there's too many things being packed into a UI that can't exactly handle it. To make matters worse, the errors you get when something fails aren't too helpful and they are used across various Microsoft platforms. You have to always ensure you're looking for help on PowerBI vs PowerBI developer or PowerQuery.
The outlook app will be native desktop and mobile (except linux for now).
Plus it will give the maui project more credibility, help grow its userbase. Make the framework better by providing a real world project for the maui team to benchmark, highlighting pain point, provide in-house feedback, feature request.
All the releases that I can think of shunned the standard UI toolkits for their own homegrown UI. Presumably to show the Windows folks that the Office team is it's own little empire.
If you want an identical experience with identical code across the Web, iOS, Android, Windows, Mac, Linux then there is only one solution.
Cross-platform desktop apps, should at least cover Windows, OSX and Linux (appImage/Flatpak) as a baseline. Avalonia works well enough, but MAUI just muddied the waters. With the massive efforts towards web-ui in general, it's really not surprising that many devs/shops are just shrinkwrapping with Electron. Even if there are far lighter options for embedded browser usage of the system's browser engine. In the end, the state of desktop apps sucks all around.
How about vscode vs sublime, neovim, or any other native text editor with LSP support? vscode is slow comparatively.
Of course most Electron apps don't have near the same level of effort or foresight when it comes to performance. Discord probably the second most common electron app, and Teams being third. Both of which, at the very least, have issues. Some could be overcome, or at least be more consistent with WASM built controllers, but that whole space needs some maturing and improved tooling. I've played with Tauri and Yew and think it's pretty nifty, but there's a lot of work to getting parity with say React+MUI.
React+MUI itself is pretty good. But even then, on a relatively large team with some relatively inexperienced devs, you can wind up with dependency trees that are insane, huge and slow. Taking that and going through the extra hurdles that the likes of Electron, Tauri or others add is burdonsome to say the least. It can be very nice, but usually isn't.
And while I empathize with the teams using Electron, I can even support the ideas. In the end, it's the outcome that matters. I'm not one of the never-electron types. But I also recognize the issues. I use Tabby for my terminal, which is fast enough, but still takes 3-4 seconds to load. I use VS Code which is usually a couple seconds as well. It drops off dramatically from there.
There are massive advantages a browser renderer offers... it gets all taken away by importing whatever library comes up in your npm search for any given thing.
Seems to me this is kinda the core of the matter. VSCode written by developers, for developers, working in the domain of...development. It's almost a labor of love at that point.
But, yeah, I wholeheartedly agree that they should either develop or use a native framework (Flutter perhaps?) rather than trying to shoehorn a technology that has never been very good for application development.
Teams.
Go ahead, I'll wait.
Meanwhile, Microsoft is a behemoth. Your argument makes total sense for a small shop with limited bandwidth to test. Companies like Microsoft don't get that excuse. They're simply padding their bottom line at our collective expense, and they can do it because they have extremely sticky services in a lot of areas (in this case, corporate email infra).
Same goes for Android/iOS.
These new Microsoft applications run on all these platforms identically across all these platforms and mostly with the same code.