Slashdot Mirror


In Defense of the Popular Framework Electron (dev.to)

Electron, a popular framework that allows developers to write code once and seamlessly deploy it across multiple platforms, has been a topic of conversation lately among developers and users alike. Many have criticised Electron-powered apps to be "too memory intensive." A developer, who admittedly uses a high-end computer, shares his perspective: I can speak for myself when I say Electron runs like a dream. On a typical day, I'll have about three Atom windows open, a multi-team Slack up and running, as well as actively using and debugging my own Electron-based app Standard Notes. [...] So, how does it feel to run this bloat train of death every day? Well, it feels like nothing. I don't notice it. My laptop doesn't get hot. I don't hear the fan. I experience no lags in any application. [...] But aside from how it makes end-users feel, there is an arguably more important perspective to be had: how it makes software companies feel. For context, the project I work in is an open-source cross-platform notes app that's available on most platforms, including web, Mac, Windows, Linux, iOS, and Android. All the desktop applications are based off the main web codebase, and are bundled using Electron, while the iOS and Android app use their own native codebases respectively, one in Swift and the other in Kotlin. And as a new company without a lot of resources, this setup has just barely allowed us to enter the marketplace. Three codebases is two too many codebases to maintain. Every time we make a change, we have to make it in three different places, violating the most sacred tenet of computer science of keeping it DRY. As a one-person team deploying on all these platforms, even the most minor change will take at minimum three development days, one for each codebase. This includes debugging, fixing, testing, bundling, deploying, and distributing every single codebase. This is by no means an easy task.

97 of 138 comments (clear)

  1. So Popular that you need to explain it. by jellomizer · · Score: 2, Insightful

    Honestly this is the first time I heard of it. Most likely as the explanation illustrates it isn't a tool that I need to solve my problems. But still if a tool was really that popular I would had heard about it before.

     

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:So Popular that you need to explain it. by norweeg · · Score: 1, Informative

      Its basically a tool for building desktop applications with HTML, CSS, and Javascript. https://electron.atom.io/. Slack, Visual Studio Code, and Github desktop all use it.

    2. Re:So Popular that you need to explain it. by Maxo-Texas · · Score: 1

      Now you've heard of it.

      It must be popular!

      --
      She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.
    3. Re:So Popular that you need to explain it. by davecb · · Score: 4, Interesting

      Atom is vaguely OK, but I wouldn't care to try to maintain js, but Slack is like being trapped in a large echoing room filled with people madly shouting "ooh, shiney!"

      It also dragged my 32 GB dev server into the weeds, so I probbaly agree with the criticisms of Electron proper.

      --
      davecb@spamcop.net
    4. Re:So Popular that you need to explain it. by angel'o'sphere · · Score: 1

      It is a framework, not a tool.
      If you only listen for tools, obviously you don't hear the framework.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:So Popular that you need to explain it. by Scarred+Intellect · · Score: 1

      Honestly this is the first time I heard of it. Most likely as the explanation illustrates it isn't a tool that I need to solve my problems. But still if a tool was really that popular I would had heard about it before.

      Obligatory: https://xkcd.com/1053/

      (To be fair, I'm another one of the 10,000)

    6. Re:So Popular that you need to explain it. by fredrated · · Score: 1

      Aren't you funny!

    7. Re:So Popular that you need to explain it. by AuMatar · · Score: 1

      Slack and GitHub desktop use it? That alone is reason enough to pick something else.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    8. Re:So Popular that you need to explain it. by slashdice · · Score: 1

      You're kidding about atom, right? The FA author proudly mentions that his 16-gig computer can edit two files in atom. #notabrag

      --
      Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    9. Re:So Popular that you need to explain it. by arglebargle_xiv · · Score: 1

      On a typical day, I'll have about three Atom windows open, a multi-team Slack up and running, as well as actively using and debugging my own Electron-based app Standard Notes. [...] So, how does it feel to run this bloat train of death every day? Well, it feels like nothing. I don't notice it. My laptop doesn't get hot. I don't hear the fan. I experience no lags in any application.

      Translated:

      Hey, it seems to work for me. I don't know, or care, if it works for anyone else, but it's OK on my work machine so that's all that matters.

      The Developer's Creed for far too many companies, unfortunately.

    10. Re:So Popular that you need to explain it. by tigersha · · Score: 1

      Seriously, no

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    11. Re:So Popular that you need to explain it. by davester666 · · Score: 1

      You know it's good, because there's only 1 person developing it.

      --
      Sleep your way to a whiter smile...date a dentist!
    12. Re:So Popular that you need to explain it. by Big+Hairy+Ian · · Score: 1

      Surely Desktop Applications have gone from being all pervasive to being a small niche I haven't written one for nearly 10 years.

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    13. Re:So Popular that you need to explain it. by terjeber · · Score: 1

      That's the disadvantage of living in a cage in the Himalaya's for as long as you have.

  2. Very confusing article... by Anonymous Coward · · Score: 1

    The headline makes it sound as if Electron is being defended. Then it starts talking about how slow Electron is. But then some "developer" (of what?) says that his fast PC runs it without any lag. Okay. And *then* it talks about how bad Electron is for not being supported on cellphones... or something. I can't make out the point of any of this.

    1. Re:Very confusing article... by jellomizer · · Score: 1

      Platform independent doesn't equate to platform optimized. Normally we will get a few winners and loosers.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:Very confusing article... by Anonymous Coward · · Score: 2, Insightful

      But then some "developer" (of what?)

      "my own Electron-based app Standard Notes"

      So I imagine this is slashvertisement purchased by the developer of Standard Notes, an Electron-based app from the developer of Standard Notes.

    3. Re:Very confusing article... by __aaclcg7560 · · Score: 2

      So I imagine this is slashvertisement purchased by the developer of Standard Notes, an Electron-based app from the developer of Standard Notes.

      More like a slow news day. Firehose looks awful and some of the posted stories are uncredited.

  3. Electron? by Script+Cat · · Score: 1

    In Defense of the Popular Framework The

  4. "too memory intensive."? by kbdd · · Score: 4, Informative

    I had never heard of it so I googled it.
    Oh, a new text editor, maybe I can use it. Click on the download link.
    163MB for a text editor, ouch!
    I do not know about RAM usage but that thing is already a hog on my hard drive...

    1. Re: "too memory intensive."? by Swistak · · Score: 2

      20th century called. They want their computer back.

    2. Re: "too memory intensive."? by tepples · · Score: 1

      20th century called. They want their computer back.

      A lot of laptops still in use have one or two SODIMM slots that take modules up to 2 GB, for a maximum of 2 or 4 GB of RAM unless you somehow connect a USB RAM drive and put swap on it. These include netbooks, used ThinkPad X61 computers made in 2007 or thereabouts, and more.

    3. Re: "too memory intensive."? by tk77 · · Score: 1

      You got me thinking ...

      $ du -sh TextMate.app
        31M TextMate.app

      $ du -sh Atom.app
      506M Atom.app

      WHY?

      152M Electron Framework.framework
      221M node_modules
        86M apm

      But I guess I could use Atom on Windows.... if for some reason I wanted to stop using NP++.

    4. Re: "too memory intensive."? by Anonymous Coward · · Score: 1

      If you like Atom but don't like its bloat, you should check out Sublime Text.

    5. Re: "too memory intensive."? by vlueboy · · Score: 4, Informative

      20th century called. They want their computer back.

      Get real. Not everyone is on the desktop world. Every MB counts. Your $400 retail computer comes with 1 Terabyte now, but most home users out there only replace their 10 year old machines when death is imminent, and they have more humble 300-500GB setups.

      Laptops and SSD drives bring another dimension to the situation. SSDs are laughably small even on desktop PCs. The "new" professional grade HP laptop that work assigned me a year ago was a downgrade from the regular HD in the 6-year old it was replacing where I had at least 300GB.

      The formatted SSD 100GB started out losing 30GB from my files transfered from the old PC (I had a couple virtual machines and respective linux ISOs because shells and SSH on Windows is deficient, even with Cygwin)

      Another 20GB was occupied by Windows 7 and I ended with about 10GB free, which was a bit of a worry preceding the Windows 10 download / upgrade process.
      Every megabyte counts, especially when you now automatically have programs doubling in size.

    6. Re: "too memory intensive."? by JohnFen · · Score: 1

      Do you not consider it a waste that the state of software these days means you need a 21st century computer to perform the same things that you used to be able to do with a 20th century computer?

      Just imagine what could be done if software were actually efficient.

    7. Re: "too memory intensive."? by tk77 · · Score: 1

      I'll have to check it out as I've heard about it for a while but never gave it a try.. I liked Atom for a little while but couldn't find extensions that did things exactly the way TextMate does so I just stuck with that.

  5. 16gb is not imminent by Luthair · · Score: 2

    16gb being standard on PCs is probably still a decade away.

    1. Re:16gb is not imminent by Zaelath · · Score: 4, Insightful

      [thing] which uses a LOT of [constrained resource] works just fine on my [device] which has [unusually large amount of constrained resource], maybe your [device] is too old? - Said every fucking developer ever.

      Followed by; "What do you mean lag makes the game unplayable? It works just FINE on my LAN, asshole!".

  6. Re:so, just keep it a webapp by Anonymous Coward · · Score: 1

    Also I've never heard of this "most sacred tenet" and when I google it the only two relevant hits are the article and this slashdot post.

  7. Only apps can app apps! by Anonymous Coward · · Score: 1, Funny

    Modern appy app apps like Apptron let you app apps while apping other apps! You can't do this with LUDDITE C++!

    Apps!

    1. Re:Only apps can app apps! by Whibla · · Score: 1

      I can't work out, given the topic, if this is an apt comment or not...

    2. Re:Only apps can app apps! by Aighearach · · Score: 2

      I can haz Perl-Gtk+? I can haz multiple platforms? I can haz 1999 in 1998? I can haz 1999 in 2017? I can haz LUDDITE Gtk back?!

  8. Popular? Yes, with shitty hipster startups! by Kaptain+Capslock · · Score: 5, Insightful

    Let's face the truth: Electron delivers a Chromium engine, Node.JS and V8, all rolled into one package to you. So of course it's a memory hog, depending on what you are going to program, like a terminal, clipboard manager or tiny frontend to FFMPEG [all existant projects]. All those programs alone need 200 MB for the runtime engine, to just do really simple stuff.

    It also needed 13% of CPU time to just draw a blinking cursor (!).

    It's mostly used by shitty webhipster design startups, which are just way too lazy to learn a proper programming language, and it even doesn't fit well with the UI of your operating system. And since the underlying parts of it, when a program gets delivered, aren't for sure update as frequently as Chromium alone, it's a security nightmare as well.

    1. Re:Popular? Yes, with shitty hipster startups! by The+MAZZTer · · Score: 1

      It also needed 13% of CPU time to just draw a blinking cursor (!)

      Gotta wonder WTF is going on that it takes 13% CPU. There's lots of ways to do a blinking cursor with CSS and it sounds to me like the chosen solution is probably not one of the better ones.

    2. Re:Popular? Yes, with shitty hipster startups! by JohnFen · · Score: 1

      Electron lost me a "Javascript".

      Cross-platform frameworks are intended for one thing and one thing only: to reduce development costs. And they all do it at the cost of software quality.

    3. Re:Popular? Yes, with shitty hipster startups! by Kaptain+Capslock · · Score: 1

      Well, here's the bug report to it, since Microsofts Visual Studio is also programmed with Electron, one user of this found it: https://github.com/Microsoft/v...

      This also showed up as an article in The Register: https://www.theregister.co.uk/...

    4. Re:Popular? Yes, with shitty hipster startups! by tepples · · Score: 1

      Cross-platform frameworks are intended for one thing and one thing only: to reduce development costs. And they all do it at the cost of software quality.

      Say you need to run five applications, the first exclusive to macOS, the second exclusive to Windows, the third exclusive to X11/Linux and FreeBSD, the fourth exclusive to iOS, and the fifth exclusive to Android. You'd have to buy and carry a MacBook, a RAM upgrade therefor in order to run virtual machines, a Windows license, an iPhone or iPad, and an Android phone, Android tablet, or recent Chromebook. That's a lot of cost, weight, and chargers to keep track of.

    5. Re:Popular? Yes, with shitty hipster startups! by tepples · · Score: 3, Insightful

      You can run Android apps in various ways on a laptop, so scratch the need for the Android tablet.

      To which "ways" do you refer? I'm aware of two:

      Android in a VM Running an x86 or x86-64 build of Android Open Source Project in a virtual machine on a PC might be fine for apps available as a loose APK, through Amazon Appstore, or through F-Droid. So might BlueStacks App Player, which I'm told actually emulates an Android device's ARM CPU. But it doesn't work for Android apps that are exclusive to Google Play Store or rely on Google Play Services. Android apps on Chromebook Google Chrome on recent Chromebook laptops can run Android apps from Google Play Store. So that technically counts as Android apps on a laptop. The corresponding feature in Google Chrome for Windows, macOS, or X11/Linux is called ARC Welder, but a review says it's glitchy and lacks Google Play on other than Chrome OS. This which is why I mentioned having to carry a Chromebook to make use of this feature.

      There are few applications on FreeBSD you can't compile for Linux

      Which is where the RAM upgrade comes in. In order to run Windows, FreeBSD, or GNU/Linux in a virtual machine in macOS on a MacBook, you may need more RAM than Apple includes with the base model. But mostly I'm referring to apps for X11/POSIX that work on FreeBSD and GNU/Linux but haven't been ported to Win32 or Cocoa. Perhaps one possibility is to install Xcode, Homebrew, and an X server, and buy a second Mac for the maintainer of each app you're trying to build and use under Homebrew so that he can investigate the issues that you file in the issue tracker.

      possibly a Windows VM if the Windows application doesn't work under Wine.

      Which again is where the RAM upgrade comes in, along with the Windows license.

    6. Re:Popular? Yes, with shitty hipster startups! by JohnFen · · Score: 1

      Exactly. You're making an argument based on development costs. That's what frameworks are intended to address. But regardless, the tradeoff is going to be that your software isn't going to be as good as it could be otherwise.

    7. Re:Popular? Yes, with shitty hipster startups! by tepples · · Score: 1

      And for the majority of users, suboptimal software beats completely unavailable software.

    8. Re:Popular? Yes, with shitty hipster startups! by JohnFen · · Score: 3, Informative

      Sure, if I need some software and literally the only thing available sucks, then I'll use it anyway.

      But, in practice, it's extremely rare that you can't find a natively compiled version of what you need.

      But none of that changes the fact that applications built with frameworks tend to suck, and the effort required to make them not suck negates much of the advantage of using frameworks.

    9. Re:Popular? Yes, with shitty hipster startups! by Zaelath · · Score: 1

      Thankfully they didn't multi-thread the cursor rendering or it would use more than 1 core (13% is 100% of a core).

      Back in the day they used to apply a memory hack to EverQuest to put a sleep(0) into main() which took the CPU usage from 100% to about 20%

    10. Re:Popular? Yes, with shitty hipster startups! by Wrath0fb0b · · Score: 1

      It's mostly used by shitty webhipster design startups, which are just way too lazy to learn a proper programming language, and it even doesn't fit well with the UI of your operating system.

      Why waste developers with knowledge of a proper programming language on trivial tasks like this.

      The whole point of "shitty hipster design startups" is that we lower the barrier of entry for uncomplicated tasks so that less talented people can still deliver a usable product. We don't need genius level assembly-level programmers putting together bespoke UI for various BS tasks like Uncle Frederick's Antique Shop and Ice Cream Parlor.

      Tech was supposed to be democratizing and liberating. We were supposed to make the benefits of the Information Age available in every corner of the world and accessible to every person of mediocre intelligence by allowing them to build and customize.

    11. Re: Popular? Yes, with shitty hipster startups! by PmanAce · · Score: 1

      Visual Code is not Visual Studio.

      --
      Tired of my customary (Score:1)
    12. Re: Popular? Yes, with shitty hipster startups! by PmanAce · · Score: 1

      There are many android emulators out there for the pc. Bluestacks or whatever it's called was one I used.

      --
      Tired of my customary (Score:1)
    13. Re:Popular? Yes, with shitty hipster startups! by tepples · · Score: 1

      But, in practice, it's extremely rare that you can't find a natively compiled version of what you need

      Find me an iOS app development tool natively compiled for Windows or GNU/Linux. Find me U.S. individual income tax return preparation software natively compiled for GNU/Linux. Or are those among the "extremely rare" examples?

    14. Re:Popular? Yes, with shitty hipster startups! by Ash-Fox · · Score: 1

      Say you need to run five applications, the first exclusive to macOS, the second exclusive to Windows, the third exclusive to X11/Linux and FreeBSD, the fourth exclusive to iOS, and the fifth exclusive to Android.

      I remember the days we had problems like that in one of my work places. Most of it was resolved with a Citrix-like solution that ran on a webpage.

      --
      Change is certain; progress is not obligatory.
    15. Re:Popular? Yes, with shitty hipster startups! by JohnFen · · Score: 1

      Those are highly specialized (i.e., tiny market) examples and so, yes, I'd call them rare.

      But understand -- I'm in no way saying that developers are wrong for using frameworks and I an not really trashing frameworks. There can be excellent reasons for using them, depending on what you're doing.

      All I'm saying is that using them comes with a cost to users that must also be considered, and a lot of framework developers seem to either be unaware of it, or think that it doesn't matter.

    16. Re:Popular? Yes, with shitty hipster startups! by Kaptain+Capslock · · Score: 1

      There's nothing wrong with lowering the barrier, but there's quite much wrong with using an overkill for simple tasks. Using Electron for many tasks is like using the engine of a truck to make scrambled eggs.

      Is it possible? Of course. Is it a waste of resources? Entirely. So does it make sense? No.

  9. Re:"This is by no means an easy task." by chuckugly · · Score: 1

    If they lack good automated testing and so on I can see how the entire process could blossom, particularly if l10n is going to be involved and the tests have to go across many languages. The change itself might not be the long pole in the tent.

  10. Many /. and SN users refer to turn on scripts by tepples · · Score: 1

    Keeping it a web application won't satisfy the "I refuse to turn on scripting in the browser" crowd who frequents sites like this, if comments to stories about Chrome's adoption of WebAssembly on Slashdot and on SoylentNews are any indication. Or by "web application", do you refer to an application where all scripting is server-side and all interactivity is through link navigation and form submission?

    1. Re:Many /. and SN users refer to turn on scripts by JohnFen · · Score: 1

      I'm one of those. No scripting for me.

      I do make an exception for Eclipse, though, but only because -- despite its flaws (and there are many) -- I can't find another IDE that is any better.

    2. Re:Many /. and SN users refer to turn on scripts by JohnFen · · Score: 1

      Because they're less likely to be awful.

  11. Re:so, just keep it a webapp by laie_techie · · Score: 2

    Also I've never heard of this "most sacred tenet" and when I google it the only two relevant hits are the article and this slashdot post.

    You haven't heard of DRY? Don't Repeat Yourself.

  12. Electron, the latest name for "snake oil" by Anonymous Coward · · Score: 1

    "Electron, a popular framework that allows developers to write code once and seamlessly deploy it across multiple platforms"

    Oh, my. Someone has balls of brass to even imagine that someone could fall for that old line.

    It still can't beat that timeless classic, "Would you like to come up to my apartment and look at my etchings?"

  13. I hate electron apps... by Junta · · Score: 4, Insightful

    So far my experience has been atom and mattermost desktop.

    For atom, everyone was swearing*so hard* about how good an editor it is, and it's frankly not that good, a resource hog, and just generally a bit glitchy around the edges. Slow to start. Sure it's 'extensible', but the extensions have thus far for me been extremely ill-fitting and low quality. It reminds me of the 'plugin' fad of the late 90s/early 2000s when a lot of applications pretended to be incredibly extensible but really it was just providing clunky entry points to pretty much standalone apps.

    For mattermost, it was basically loading the web gui in an app.... no value over the 'normal' web gui. For atom at least you have the excuse you are dealing with offline material so a 'normal' browser hosted approach doesn't fit, but in mattermost you are connecting to a server anyway. I might have found other reasons to be dissatisfied, but the complete lack of benefit over the browser version just made my interest evaporate.

    I don't understand the fascination with using the web development trappings when you don't have to. It's one of the most tedious approaches to application development.

    --
    XML is like violence. If it doesn't solve the problem, use more.
    1. Re:I hate electron apps... by ItsJustAPseudonym · · Score: 3, Insightful

      I don't understand the fascination with using the web development trappings when you don't have to.

      Maybe "when all you have is a hammer, everything looks like a nail"?

      People need to get out of the rut of web development.

    2. Re:I hate electron apps... by phantomfive · · Score: 1

      Sure it's 'extensible', but the extensions have thus far for me been extremely ill-fitting and low quality. It reminds me of the 'plugin' fad of the late 90s/early 2000s when a lot of applications pretended to be incredibly extensible but really it was just providing clunky entry points to pretty much standalone apps.

      Sigh. If only VIM and Emacs had a plugin system. Or Eclipse. Or Gedit. Or even Visual Studio. What a world that would be, where plugins were no longer a differentiating factor between editors.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:I hate electron apps... by tepples · · Score: 1

      If I already have to develop a web app, I might as well just use that for the "stand alone" app as well.

      Except technically, you don't. You can choose not to develop a web app at all and instead provide a native version as a Win32 executable tested in Windows and Wine, with your web work consisting of screenshots and video tutorials to promote its download and installation. You don't see a lot of Steam games also being available as a web app, do you?

    4. Re:I hate electron apps... by Junta · · Score: 1

      The issue being if you have to develop a web app, then what are you trying to accomplish with the 'stand alone' app?

      If you just port the webapp to an executable package, why even bother? For example, as I said in mattermost, why bother with the app when the webapp is *the exact same thing*.

      If you are writing something that won't really work as a browser app because it's doing something like manipulating your own files (e.g. atom), then it's never going to be a webapp, so why pretend it is?

      --
      XML is like violence. If it doesn't solve the problem, use more.
    5. Re:I hate electron apps... by Ash-Fox · · Score: 1

      The issue being if you have to develop a web app, then what are you trying to accomplish with the 'stand alone' app?

      In the case of Discord, global hot keys is one.

      --
      Change is certain; progress is not obligatory.
    6. Re:I hate electron apps... by Junta · · Score: 1

      Or conversely, you can develop the webapp and not try to pretend it's a native executable because a webapp in an exe isn't really distinct from a webapp in a browser, but it is a fair amount more maintenance work to bother.

      If you want a desktop app specifically, design in a way that delivers something of value over hosting it in the users web browser. Getting an 'application' that is just a webpage in an exe file seems like the developer is being patronizing toward 'luddite' users that want to hold on to their applications instead of using the obviously superior webapps they should be using. It's annoying because you want a decent efficient well designed application and they slap a web page at you and consider the matter settled.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  14. Re:"This is by no means an easy task." by JohnFen · · Score: 1

    But if that's the case, no framework in the world will save him. At best, the framework will do what frameworks tend to excel at: allow you to easily produce substandard, but essentially functional, programs.

    Note, I'm not saying that you can't produce great programs with a framework. I am saying that using a framework doesn't actually make doing so any easier, and usually makes it harder.

  15. Re:so, just keep it a webapp by JohnFen · · Score: 2

    I wouldn't say "don't repeat yourself" is a sacred tenet. There are situations where repeating yourself is exactly the right thing to do.

    It is, however, generally a "best practice".

  16. Extreme ignorance on the part of web "programmers" by Anonymous Coward · · Score: 3, Interesting

    I don't understand the fascination with using the web development trappings when you don't have to. It's one of the most tedious approaches to application development.

    It pretty much just boils down to ignorance. There are a lot of "programmers" (I use that term very reluctantly) who only know JavaScript, HTML and CSS. Only a fraction of them know PHP or Ruby on Rails. That's as deep and as wide as their knowledge and experience goes.

    They don't know C. They don't know C++. They don't know Java. They don't know C#. They don't know anything other than web development.

    Being so ignorant, they don't realize just how awful their preferred technologies really are. They also don't realize how much better the alternatives can be.

    So what do they do? They write absolutely everything in the only language they know: JavaScript. They build their applications (or their half-arsed attempts at applications) using the closest thing to a UI framework that they know: HTML and CSS. And the results are disastrous.

    We see the same thing happen with databases. People who know nothing about SQL or relational theory find that they need to store data, and instead of using a real database, they choose some shitty NoSQL database instead.

    The worst part of all of this is that these people refuse to learn how to use real technologies. They're so ignorant that they're unwilling to look beyond what they know. So this problem just gets worse and worse. They try to write more and more software using JavaScript, HTML and CSS, and the end result is that we see more and more extraordinarily bloated and slow applications.

  17. Re:A programming article?? On Slashdot?? by tk77 · · Score: 1

    "Build cross platform desktop apps with JavaScript, HTML, and CSS"

    I don't see anything remotely related to programming about it.

  18. LibreJS by tepples · · Score: 1

    Why do you allow software written in languages other than JavaScript?

    Because it is free software that is included in the repository of FreeBSD, Fedora, or Debian, which means it has undergone at least some level of third-party code review. Most applications that use script-in-the-browser have not. Some people who consider script-in-the-browser a "trap" make an exception for free software with machine-readable license markup.

  19. Re: "This is by no means an easy task." by Gr8Apes · · Score: 1

    I'm building across 3 current codebases, and 2 different environments, and 1 change takes about 20 minutes to propagate. Releases, OTOH, are a different story, and may take 3 days, but that's not done for every single change.

    --
    The cesspool just got a check and balance.
  20. So it's just Java, right? by jmcbain · · Score: 1

    Java, a popular framework that allows developers to write code once and seamlessly deploy it across multiple platforms, has been a topic of conversation lately among developers and users alike. Many have criticised Java-powered apps to be "too memory intensive."

    1. Re: So it's just Java, right? by KGIII · · Score: 1

      JavaScript. No relation to Java.

      --
      "So long and thanks for all the fish."
    2. Re: So it's just Java, right? by KGIII · · Score: 1

      By almost all accounts, Electron is horrible. I guess Visual Studio Code is written in it, and that's the only one I've played with - albeit for a short time. I didn't notice any flaws, but I didn't pay attention to resource usage in the short time I used it. I have ample RAM and compute power. But, the general consensus is that it is horrible.

      It seems to me there should be a better way. Java doesn't really do it, as you can't count on everyone to be on the same version - or even have it installed.

      --
      "So long and thanks for all the fish."
  21. It's Chrome by dabadab · · Score: 3, Informative

    Electron is basically Chromium.
    There are a few extras here and there but in the end an Electron application is some html, css and javascript code packed together with a browser - so it's not that suprising that it eats up ram just like Chrome.

    --
    Real life is overrated.
  22. C++ has more of an installation approval barrier by tepples · · Score: 1

    They don't know C. They don't know C++. They don't know Java. They don't know C#. They don't know anything other than web development.

    That or a developer has tried writing applications in C++ before, but he has run into political problems getting corporate, school, and public library IT departments to permit installation of applications written in C++ on machines that they own. In addition, most end users have shown themselves unwilling to download C++ source code and learn how to compile it, nor to install a Linux virtual machine in which to run an executable version on Windows or macOS. Or should a developer instead build web applications in C++ using Emscripten or WebAssembly?

  23. It's not 'a framework'. It's Chrome. by jpop32 · · Score: 4, Insightful

    Seriously. 'Framework' part is just a wrapper around a whole, full fledged Chrome browser. And there's your problem. If you have Atom, Slack and any other Electron app, along with your 'regular' Chrome, you have *four* copies of Chrome on your computer. If you think that is silly, yes. It is.

    Which is why it's crazy to run any Electron app that is available on the web. Run Slack in Chrome, pin the tab, enable notifications and that's it. Identical, and one less Chrome installation.

    1. Re:It's not 'a framework'. It's Chrome. by davecb · · Score: 1

      Tried that, it works way better that the app, which is scary. Can you say "pessimal" ???

      --
      davecb@spamcop.net
    2. Re:It's not 'a framework'. It's Chrome. by complete+loony · · Score: 1

      And lower memory utilisation. As the carefully designed memory model of chrome's multiple processes, share everything they can.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
  24. Re:C++ has more of an installation approval barrie by JohnFen · · Score: 3, Insightful

    has run into political problems getting corporate, school, and public library IT departments to permit installation of applications

    Yes, if you're aiming your software for specialized environments then you have to adapt to what the environment requires.

    most end users have shown themselves unwilling to download C++ source code and learn how to compile it

    If you're requiring users to compile the code themselves, you're doing it wrong. The least you can do is actually produce a build for the operating systems you support.

  25. Who Speaks For The Users? by Anonymous Coward · · Score: 4, Insightful

    "...as a new company without a lot of resources, this setup has just barely allowed us to enter the marketplace."

    OK, so you've solved your problem as a startup. And you did acknowledge the user, barely.

    "But aside from how it makes end-users feel, there is an arguably more important perspective to be had: how it makes software companies feel."

    And then you let us know what your priorities are. The users can pound sand, you're a Startup dammit! And you have Needs! All your users need to upgrade to High End Equipment for the privilege of using your indispensable App!!

    You might want to rethink your priorities, before your precious startup collapses due to market disinterest in your bloated POS. Maybe Facebook can get away with that attitude, and maybe Twitter. You cannot.

  26. Re:so, just keep it a webapp by mccrew · · Score: 1

    You haven't heard of DRY? Don't Repeat Yourself.

    I'm sorry, what'd you say? :^)

    --
    Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
  27. Re:C++ has more of an installation approval barrie by tepples · · Score: 1

    Yes, if you're aiming your software for specialized environments then you have to adapt to what the environment requires.

    And in practice, adapting to the environment of "people who regularly use a PC that someone else owns" means script-in-the-browser.

    The least you can do is actually produce a build for the operating systems you support.

    Between C++ and script-in-the-browser, C++ will leave more users staring at "Sorry, we do not support your operating system yet."

  28. Convincing dev to offer app to BlueStacks users by tepples · · Score: 1

    BlueStacks App Player [...] doesn't work for Android apps that are exclusive to Google Play Store or rely on Google Play Services.

    There are many android emulators out there for the pc. Bluestacks or whatever it's called was one I used.

    I mentioned that earlier. But if an application for Android is offered only through Google Play Store, what should an individual who wishes to use it in BlueStacks App Player do to convince its publisher to make it available to users of BlueStacks App Player?

  29. Forgot the "Sponsored Tag" by Stewie241 · · Score: 1

    I think the editor left off the sponsored tag.

    1. Re:Forgot the "Sponsored Tag" by JohnFen · · Score: 1

      If it's an ad, it's a pretty terrible one since it doesn't give the impression that Electron (or Standard Notes) is a desirable piece of software.

  30. Re:C++ has more of an installation approval barrie by tepples · · Score: 1

    Use C++, use Qt, and you can support Windows, macOS, iOS, Android, FreeBSD, and many other OSes.

    Though an established business can afford the ongoing cost of hardware and developer program subscriptions required to test on all those, a hobbyist or startup cannot necessarily.

  31. Write once, debug everywhere by Snufu · · Score: 1

    Didn't you programmers have this conversation 20 years ago with Java? I understand the performance gap between java and C is almost imperceptible now. Nevertheless, the reports of C's death remain exaggerated.

    1. Re:Write once, debug everywhere by JohnFen · · Score: 1

      I understand the performance gap between java and C is almost imperceptible now.

      How true this is depends on exactly what you're doing. Java-based applications can actually outperform naively coded native C/C++ applications in certain things like communications between threads. But it can underperform in other types of things.

  32. Re: Convincing dev to offer app to BlueStacks user by PmanAce · · Score: 1

    I was playing final fantasy record keeper, which I downloaded from the Google play store on bluestacks.

    --
    Tired of my customary (Score:1)
  33. What's a framework electron? by sabbede · · Score: 1

    And why are those particles so popular? Are they more popular than Protons? What makes an electron a "framework" electron? Framework of what? Something beyond what electrons normally do?

  34. Re: Convincing dev to offer app to BlueStacks user by tepples · · Score: 1

    How does one lawfully obtain a copy of the proprietary Google Play Store app for use with BlueStacks App Player? I thought it was lawfully available only as a preinstalled on certified mobile devices.

  35. Re:C++ has more of an installation approval barrie by Junta · · Score: 1

    Using a cross-platform framework does not save you from having to make some effort to support other platforms, whether it's C++ or Java or electron. For example, you have changes like this in Atom that are having to support specific platforms:
    https://github.com/atom/atom/c...

    And you have platform specific issues still:
    https://github.com/atom/atom/i...
    https://github.com/atom/atom/i...
    https://github.com/atom/atom/i...

    So the statement that electron saves you from having to make any effort to support other platforms is just wrong. We went through all of this when Java appeared on the scene, with the 'develop once run anywhere' and subsequent attempts at that vision have not fared that much better.

    Sure with C++ you have to bother to build for each supported platform, but there do exist cross-platform APIs to target that are approximately the same amount of work to create and support as Electron and Java, which is not zero for any 'magic bullet' people want to claim...

    --
    XML is like violence. If it doesn't solve the problem, use more.
  36. Re:Extreme ignorance on the part of web "programme by ilsaloving · · Score: 1

    This desperately needs to be modded up. This sums it up exactly.

  37. What is something of value? by tepples · · Score: 1

    Or conversely, you can develop the webapp and not try to pretend it's a native executable because a webapp in an exe isn't really distinct from a webapp in a browser, but it is a fair amount more maintenance work to bother.

    If you want a desktop app specifically, design in a way that delivers something of value over hosting it in the users web browser.

    That's fine so long as you don't need system APIs that the browser doesn't expose. For example, two things that work in Discord's Electron app and not in Discord's web app are push-to-talk for voice chat and automatically setting the "Playing" message based on what other executables are running. Are those big enough to be "something of value"?

  38. Mobile remote access needs mobile Internet by tepples · · Score: 1

    I remember the days we had [to use applications exclusive to several different platforms] in one of my work places. Most of it was resolved with a Citrix-like solution that ran on a webpage.

    Except nowadays people expect to be able to use applications while away from a desk. In order for "a Citrix-like solution" to work, then either your task would have to be one that can always be performed in Wi-Fi coverage, or your work place would need to cover the cost of cellular Internet.

    1. Re:Mobile remote access needs mobile Internet by Ash-Fox · · Score: 1

      In order for "a Citrix-like solution" to work, then either your task would have to be one that can always be performed in Wi-Fi coverage, or your work place would need to cover the cost of cellular Internet.

      This isn't a problem at all in the UK.

      --
      Change is certain; progress is not obligatory.
  39. Re:Extreme ignorance on the part of web "programme by ilsaloving · · Score: 1

    Why do I need to reconsider my perception? My "perception" is based on several decades of computing, including programming and administration. The fact of the matter is that the industry is absolutely flooded with people who are textbook definitions of the Dunning-Kruger effect. People think that they read a tutorial on javascript and now they're suddenly programmers. That's the problem with Javascript. It is VERY easy to get started on. There is virtually zero barrier to entry.
    Javascript is now in the same position that Visual Basic was a couple decades ago. Everyone gets to be a programmer and pump out products regardless of how god-awful they are.

    Combine that with the fact that the average desktop or laptop hardware is now so powerful that your application will likely appear to run just fine, no matter how god-awfully inefficient your code is, that it just exacerbates the problem.

    We are now caught in an endless cycle because applications have become so bloated and inefficient, that it is no longer possible to use even basic desktop applications unless you're running with at *least* 8GB ram and a generous sized SSD, because going even slightly less is excruciating.

    Why do you think, for example, that Facebook+messenger takes over 750MB of storage? Shitty programmers that think they're good.

    Honestly, the number of examples are literally endless. Have you ever seen code that iterates through a hashmap to find a desired value? I have.

    I stand by my "perception", thank you very much.

  40. No jobs by micahraleigh · · Score: 1

    "The search Electron developer jobs in Raleigh, NC did not match any jobs."

    Not touching it.