Comment by jojobas

1 year ago

Yeah, it's an awesome idea to waste few hundred megabytes of RAM to run your app.

This browser-in-a-box cancer needs to die a painful death.

I agree it's disappointing to think I've found a native app only to realize it's just an Electron app. But I don't need the idea to die, I just want better transparency in app stores so I can know ahead of time whether an application is native or just a wrapped webapp.

> This browser-in-a-box cancer needs to die a painful death.

That depends on what you think the result would be.

What do you think companies who use Electron, CEF, embedded web views, etc today would do if those technologies all died tomorrow? For example, do you think GitHub, WordPress, Figma, Discord, Whats App, Slack, Trello, Skype, or Spotify would hire native Windows desktop development teams? (Or even Mac/Linux desktop development teams?)

Personally I doubt that there would be any increase in native app development. Any developer who cares about this is already making native applications, Electron just makes web apps slightly more convenient.

  • > But I don't need the idea to die, I just want better transparency in app stores so I can know ahead of time whether an application is native or just a wrapped webapp.

    That’s a great idea. Or a simple “Native App” badge for native apps.

  • > Electron just makes web apps slightly more convenient.

    Yes. Until the next Cornflicker, Sircam, Code red, Blaster.

You can write performant app if you want. But why stopping other on what they want to do?

  • Because your average Joe doesn't know the difference and the race to the bottom affects everyone.

    • > Because your average Joe doesn't know the difference and the race to the bottom affects everyone.

      Would it be possible that the average Joe is more familiar with a web stack vs a native or cross platform desktop stack?

      Is it not possible that the difference therefore might be between:

        - having a questionably performing app built on web technologies
        - vs a buggy one that's built on a native/cross-platform stack, or even not having one altogether because they can't build with that tech
      

      as opposed to:

        - having a questionably performing app built on web technologies
        - having an awesome native/cross-platform app that runs better and respects the OS design
      

      Or, who knows, maybe it's just cheaper to use web tech and those other options have failed to make themselves as easy to get started with and work on, especially when you're looking for good cross platform options that would run nearly everywhere and be popular enough to have tooling and tutorials.

      It's the same how something like Rust might be a good fit for writing correct web applications, but very few people actually use it for that and might instead reach for something like Python because that lets them iterate faster, even if neither the type system, nor the performance is great.

      Actually, who knows, maybe the problem is not that there's not enough "good software" out there, but rather that different people have wildly different views on what matters, in addition to there just being too much software in general.

      4 replies →

Until there's a viable solution for desktop native GUI, this trend will continue.

According to Chrome, this tab alone uses over 200mb.

  • According to Firefox, it uses 25MB. I suspect neither measurement is entirely accurate.

  • Eight Megabytes and Constantly Swapping.

    This too, shall pass. The minimum amount of memory for a double buffered fullscreen surface at 8bpc on a 4k monitor is 48MB. RAM is meant to be used, and if it was not for memory hogs, the DRAM industry would be a decade behind where it is today.

And you won't get Skype, Slack, Teams and many other applications people use on a daily basis on Linux, at all. Features on Mac will be limited compared to Windows version, because the team prioritizes work on the platform with the largest userbase. There will be more inconsistencies in feature and UI for "desktop" version vs web version, if companies still bother to maintain two versions.

That's the future you want to see, huh?

Have you developed a cross-platform desktop application in the last few years and make sure everything works on every platform? Probably not. If there is a way to make it easy, cheap, reliable to support multiple platforms and the solution takes little system resources, I'm sure everyone will want to do that. Before that happens, stop your wasting complaining about the Electorn mode of making apps. This will not change. It is the only thing that makes business sense and make developers' life easy at this time.

Or to put it simply, are you going to pay for the extra cost used for developing "native" applications for each platform? Put your money where your mouth is.

  • Telegram manages just fine, and looks the same on all platforms. I even ran it on FreeBSD for a few weeks with no issues. Their desktop client is developed pretty much by one person in C++ with Qt. It's really feature rich these days and actually works, unlike some of the things you've listed.

  • Seems a bit weird to use Skype as your example, since (a) it already had a native application for Linux, (b) AFAIK it was the same (Qt) codebase as Windows and Mac, so no feature discrepancy, and (c) Skype also developed clients for other operating systems like Symbian, Android, Blackberry, etc. as well as a Java-based client for other mobiles.

    If anything, it's easier to develop cross-platform native applications these days, since the mobile space has mostly collapsed to just Android + iOS.

  • Have a look at many cross-platform native apps like Jami, Pidgin, VNC, XnView - all made with Qt/GTK+.

Isn't Tauri already capable to run several apps in their own sandboxes with a single host process, just like browser tabs?

I can see complaining about being forced to run multiple browsers at once, the hate Web as a UI stack in general, I don't really understand.

Make a better alternative and people will flock to it.

  • There are better alternatives to Electron, like: Qt/QML, Tauri, Flutter, Sciter, React Native, NodeGui, DeskGap, etc. but people don't flock to it.