Why are we allowing this degradation of software? Each time I think about opening Spotify (Electron) on my desktop, I dread the loading time and the RAM it would use.
For very simple apps, frameworks like Tauri should do the job. But for complex applications, let's please not lose our benchmarking standards.
My app: https://www.get-plume.com/
cherry picking examples does not mean the web MUST be slow, maybe the web apps were programmed badly... I can write even worse native apps than these web apps and it will not prove anything
did you ever try compile c++ code to webassembly and check out the performance "degradation"?
it still can be true that for this special task, a native app is the better choice and people would buy it from the App Store even if 30% more expensive
I mean nobody will and wants to take away the choice of using native tech. The degradation is on sooo many levels is not a necessity or consequense.
Web apps are not replacements, they are a choice, an addition. I really do not understan these kinds of comments that frame web apps as a compulsory security nightmare or replacing superior native with inferior web...
Safari stays, native stays, you and every developer can choose.
It may move better developers towards the web stack but then faster and better web apps follow. They will make use of web capabilities and technologies (like better js, multi core, web assemly, optimizations etc).
Chill! No self respecting company will publish inferior web apps if native is so much better in their special use case!
Slack, Spotify, Teams, Notion...
Why do I need to buy the top of the line M3 MacBook Pro to run these apps with a sane performance? What tells you that these same bloated apps won't be even more bloated in the future? There's something fundamentally broken with web apps. It's no wonder the Zed team (that originally created Electron for Atom) has moved completely away from it to develop their own native GUI toolkit.
VSCode, Figma, Discord, two can play this game.
> Why do I need to buy the top of the line M3 MacBook Pro to run these apps with a sane performance?
What kind of future super computer do I need to run NATIVE Xcode with sane performance? Why NATIVE email client drops frames on scrolling thousand long email list while I can scroll Amazon web page forever without perceived frame drops? Why opening NATIVE settings redesign on Mac OS stutters harder on my MBP 2018 than settings my shitty HTC from 2012? Why do I need to go through billions of steps to get OSS application working when it’s not notarized by fruity dictator?
EDIT: While VS Code is a fine app mostly. I can't really say it's performant at all when Sublime Text runs next to it.
Figma - never tried. Discord - only on web, and the same thing with VS Code.
While the web stack may be somewhat slower in the extreme, I think the reason why big bloated apps like Teams are slow is not down to technology at all.
I think the causality works the other way around.
Big corporations with large teams that are systemically incapable of paying attention to detail (including performance) choose web technologies because web tech allows them to churn out features faster and gain access to a large pool of easily replaceable developers.
The only exception of late seems to be Notion Calendar (used to be Cron). It's an Electron app but runs pretty smoothly.
But I blame web "designers" not web tech because it has become so powerful on so many levels
my favourite examples are: - V8 performance (but gecko and webkit engineers are great too) - webassembly - modular modern js - offline websites with service worker caching (I mean I see practically 0 websites making use of it... you download an asset, you cache it, even offline available... how many news sites let you read offline?) - web crypto - 100s of others https://developer.chrome.com/docs/capabilities/fugu-showcase
Bad software performs badly.
spotify can choose its strategy, you can choose apple music native app (I guess there is something like this? I rarely listen to music but on youtube)
Idont know about teams but my partner has ipad and iphone and I hear often how teams and microsoft products behave bad on iHardware... it may have to do with the love these two big corps show towards each other :) maybe you have to buy a windows laptop for teams too, that is the walled garden philosophy you actually seem to protect :)
my partner now uses my laptop where I have a windows which I did not totally purged because I need this OS for testing :) hell there were chinese text the other day on the front page, you need to scan your finger twice (even if first was a success) sometimes, it cannot find the timezone from time to time :)
I am not linux fanboy, the first ubuntu I purged 20 years ago or so I tried, but in the last 5-10 years linux is just great and getting glimpses how windows works by free family IT care, pff... that is the world we live in :)
I added outlook as a web app for my partner and it has some apparent problems without testing it, but in the last 3 months I see it getting used and no problems I hear :)
I guess the web designers are not web app programmers and it takes time until a new breed of programmers takes over the web...
if I were spotify, I would keep the iOS app and you could choose 30% cheaper web or native... are they killing the native version?
and: maybe these companies are not self-respecting in the way I meant it :)
but every change is difficult... and again, it may turn out that the web just finds its use cases not totally taking over OR: Apple drops the fee to 3% and the change will not be so dramatic
check out this email :) https://twitter.com/OpenWebAdvocacy/status/17594904960226960... and this video: https://www.youtube.com/watch?v=X3NASGb5m8s
...which is not native to the platform, so you're in a way proving my point.
Unless I become professional writer, or develop an OCD about typing latency - standard browser and Electron apps (looking at you VSCode and Logseq) are good enough for my use cases.
And don't misunderstand me, there's absolutely a place for native applications - when performance matters. Millions of CRUDs on app store are not one them.
"The Qt Rendering Hardware Interface (RHI) translates 3D graphics call from Qt applications to the available graphics APIs on the target platform."[1]
Correct. That doesn’t make it a native application, still.
Your “suck” doesn’t mean anything to me. There are benefits and drawbacks to every approach. Benefits and potential of web applications and browser far outweigh current and future drawbacks for me.
The reason we allow these native bridges (Capacitor on Mobile, Electron on Desktop) is because they allow you to develop the same app once for all platforms. Without them you would need 3x the resources for each desktop app (Windows, Linux, Desktop) and 2x the resources for each mobile app (Android, iOS). Linux would be dead in the water without Electron. It's the reason we have Spotify, Slack, Discord, VS Code, etc. on Linux.
in the end, freedom of choice, diversity and innovation would make every service find its optimal incarnation (native or web)
in addition, web security is actually so robust via sandboxing that I feel more secure in a top browser on any web domains than downloading stuff from app stores
native apps have a built in "layer" of bot security, however... a website has to implement security itself because even a smart fridge can make GET requests :)
but I just play the devil's lawyer... I think 999 out of 1000 "standalone UX" better off delivered from the web
Native applications might offer marginal performance boost, but given how optimized modern web is and how powerful are devices that I use - that's not an argument to me unless I do something computing intensive.
I don't know how incredibly self-centered and obtuse you might be to think that your specific crud #383835 is not like all those other™ crud apps and absolutely requires a native application.
In a browser I can: * Freely select ANY text(unless for some reason some special snowflake website thinks that it needs to disable text selection) * Bookmark, add tags, sort, organize websites how I want * Sync all of my information and access it on all platforms, not platforms that vendor decided to lock me in * Add plugins that allow me to modify and work with content how I see fit * Prohibit JS, ads or any sorts of tracking
And probably at least another 10 things if I think longer than 2 minutes about it.
All of this is just from perspective of a user. If I were to write from perspective of a developer, that would take a whole blogpost to explain how native applications are relic of the past and should just roll over and die.