4 ms·
When someone makes a platform as easy to use as Electron that makes tiny executables with zero friction and lets me easily style and debug a live running app I'
by gfxgirl 6y ago
When someone makes a platform as easy to use as Electron that makes tiny executables with zero friction and lets me easily style and debug a live running app I'll switch. Maybe that already exists?
My previous experience with native dev is that every platform requires 1000s of lines of platform specific setup and then special code all over the place and further I need deep familiarity with all the different platforms' APIs
On Electron, if I start on Mac (you can start anywhere), it's
npm init -y
npm install --save-dev electron electron-builder
git add .
git commit -m "initial commit"
./node_modules/.bin/electron-builder
Then I ssh to a linux box, clone the repo and
npm i
./node_modules/.bin/electron-builder
Then I ssh to a windows box, clone the repo and do exactly the same thing.
I just created all 3 apps. On each platform the file is setting in the 'dist' folder as a .dmg in Mac, an .exe on Windows, an .AppImage on linux
No other installs needed (just node), no installing 57 standard or custom libraries and runtimes. no sudo apt install for dependencies. No setting environment variables telling various compilers where they can find stuff, don't generally even have to run my code on the other platforms even, an app pops out and I'm done. And, if I've written tests they'll generally work similarly, "npm test", zero friction, zero extra things to worry about.
If someone want's to beat Electron those are the features they need to provide.
- Const-me 6y ago> Maybe that already exists? The closest thing that exists is probably this: https://platform.uno https://platform.uno I don’t have hands-on experience though, only read their web site and watched a couple of videos. And I’m not sure they have live visual debugger, it might work on Windows when using Visual Studio 2019, but I would be very surprised if they ported that to the rest of them, it‘s relatively hard to accomplish.
- deleted 6y ago[deleted]
- buran77 6y ago> with zero friction and lets me easily You made a whole case for things that make your life easier. Any remnants of interest for what would be in the user's interest? Let's not kid ourselves, you saving some effort is not for the user more than say charging double for your software is. But perhaps that should be left in the hands of software engineers.
- dajomu 6y agoAs a counterpoint I have come across lots of software that is only developed for one platform and unfortunately I haven't been able to use it. Sometimes the difference between a 3mb or 300mb install file is worth it if it means that the software is available to more users. In that sense it can be in the user's interest.
- smabie 6y agoThere's tons of easy ways to develop gui apps, many easier than Electron. tk and Racket come to mind.
- Const-me 6y agoI have nothing against TK or Racket. I haven’t used these two in particular, but I used equivalents like Windows Forms or wxWidgets, and I was happy with both. However, they only work when you don’t have high bar for visual quality, are happy with stock OS-provided controls with minimal customizations, and don’t have too much GUI in general. GP mentioned styling and visual debugger. Styling is needed for projects where you have a professionally-made GUI design on input (i.e. Photoshop or Illustrator or XD, or much less often non-Adobe equivalents), and want to make GUI close to that design. Such projects often include custom UX in addition to custom GUI, like animated transitions or decent touch screen integration for custom controls. Similarly, visual debuggers are only needed when you have very complex GUI, and/or non-trivial UX code. Other typical requirements for high-quality GUI are internationalization (Unicode all the way down including these surrogate pairs and ideally colored fonts, support for right-to-left languages), and good DPI scaling (this requires vector graphics for assets instead of bitmaps). I don’t like Electron nor JavaScript, but I have to admit they are often the best tool for the job. QT is close, but requires C++ with all the unsafe shenanigans, and depending on the project the license can be expensive.
- ants_a 6y agoQt can be developed with Python or JavaScript too. And there are other third party bindings available. [1] [1] https://wiki.qt.io/Language_Bindings https://wiki.qt.io/Language_Bindings