6 ms·
Did they really need Electron for this? Why not just make it also available as a normal web app with a URL?
by floatboth 9y ago
Did they really need Electron for this? Why not just make it also available as a normal web app with a URL?
- comandillos 9y agoMaybe because they'v been releasing desktop apps for all the previous versions, and doing an Electron app could make users more comfortable with it. Also, Pencil doensn't need high performance requirements, si Electron could be perfectly valid for it (and im not a big fan of it)
- gjjrfcbugxbhf 9y agoThis allows working offline and saving work locally using the native filesystem. A significant improvement over a webapp. My preference goes Full native app > electron >> webapp.
- pjmlp 9y agoI rather have native app > webapp. Really don't get the point of Electron, as I never got the point of XULRunner before. If it is to be a webapp, take advantage of HTML5 features for offline apps, if it is to be native then take advantage of the OS UI/UX features. Something in the middle just feels schizophrenic from UI/UX point of view.
- vogre 9y agoFrom the UX point of view working with local files without logging in somewhere is very precious. From the dev point of view Electron provides the fastest way to make cross-platform app in high-level language.
- pjmlp 9y agoOnly if the she/he doesn't know any other tech besides web. Electron apps are the clear example of putting developer comfort before the user UI/UX.
- LeoNatan25 9y ago“Developer comfort” are strong words. It’s putting JS web “dev” comfort, as I certainly wouldn’t feel comfortable writing anything in JavaScript.
- natik 9y agoI agree it quite outrageous all the RAM & Size on disk & CPU an electron app requires. But on the other hand what are the other alternative for a one codebase multiplatform app ? Real OS native UI requires a re-write on each platform unless using libui which is limited to a button, a checkbox and a slider (okay for little app but you won't build a full blown UI editor out of that) Then there is GTK but it has lots of problems when you want to maintain a multiplatform app, looks ugly on other platform than linux, and performance is not amazing (but with GTK4 and the vulkan renderer it might improve I guess) At last the only real solution is QT (so it's not like there are zillions of solutions on the native side, there's only QT basically). And with QT if you use C++ then there's no package manager, all that prehistoric qmake stuff , etc... Also visually speaking QT is no more native than HTML, it has to emulate the style of the OS but is not using native OS widgets Also Electron might feel super heavy, but in the future we might one day have Servo (which seems even more efficient that QT by doing everything on the GPU (just as an example it does glyphs rasterisation on GPU unlike QT)) with either javascript (in this case it will be kind of the same as QT + QML&JS) or with WebAssembly. And concerning the size on disk we could provide it as a dependence common to all app using it (for eg as a FlatPack Runtime on linux). So right now Electron is outrageous but in the future the situation might improve a lot (with an alternative based on Servo if it ever happens)
- pjmlp 9y agoLike we used to do in the good old days, before this Web 2.0 craziness, and many comercial apps still do. Create a small wrapper layer for the supported OSes, which is the option used by most comercial software actually, like Adobe or Office, and many others. Electron apps basically put the confort of developer in front of the user they are supposed to serve.
- LeoNatan25 9y agoFuck user experience! All that matters to “developers” these days is “hackablility” and “velocity”. The user suffers? It’s his fault he is not using a better device.
- hex13 9y ago
- StevePerkins 9y agoJust a reminder that you're talking about an open source project, sustained entirely by volunteers. I'm sure they'd rather have people contributing, or speaking through their financial donations > complaining that they don't have the resources to write native versions for every platform. The bottom line is that cross-platform desktop development is HARD. Qt and Wx eventually push you toward C++, which few people under the age of 40 want to learn. GTK looks awful on every platform. JavaFX is actually quite nice now, and embedding a Java runtime takes up no more space than embedding Chrome. But you still have to deal with sluggish startup times, and similar complaints as C++... that Java isn't "cool" now, or whatever. So if you want something that looks decent on Windows, OS X, and Linux, and is written in languages that 19-year olds approve of, then your options are: 1. Write separate native versions for each platform, using C# for Windows, Swift for OS X, and whatever for Linux, or 2. Electron. If you're a commercial entity, selling products or services for money in the face of competition, then you should probably go with option #1. If you're an open source project or hobbyist, then just go with #2 and take solace in the fact that the people bitching were never going to contribute regardless.
- pjmlp 9y ago> C++, which few people under the age of 40 want to learn Thanks for making us aware that it is going to be easier to find jobs in High Performance Computing, Fintech, Games, OS and compiler development, machine learning, GPGPU computing, robotics, automotive industry, database engines, audio processing, medical devices, IoT,....
- StevePerkins 9y agoLearn COBOL or RPG, and the world will really be your oyster. Not criticizing C++ (I'm in my 40's and spent the first several years of my career working with it). Just stating the reality of what people whine about on web forums (when they're not whining that open source developers should do even more free work).
- pjmlp 9y agoThe thing with these youngsters, is than they eventually see that the old guys had some point. https://news.ycombinator.com/item?id=14613142 https://news.ycombinator.com/item?id=14613142
- jaymzcampbell 9y agoThere's always a lot of hate for anything Electron, so I'll just pipe up and say I am happier that they provide it as an offline app rather than having it online and needing me to have a tab in Chrome open. I know Electron isn't perfect but for regular users (those outside of the HN sphere) I don't think they really think about this much. Pencil is a small enough project (10 contributors on Github) - I doubt they have resources (time or money) available to put web infrastructure behind it and maintain that - which would be a major distraction from their real goal.
- wst_ 9y agoI see a lot of criticism around Electron. I honestly admit I am not a fan of it - see Slack memory consumption. OTOH I am not experienced enough to be able to judge the language as a whole. Could anyone not biased list pros and cons of Electron here? If it is so bad as people say, why more and more Electron apps pop up here and there?
- tenryuu 9y agothey keep popping up because they are piss easy to make and offer a runtime on all platforms. Development time can be cut down, in exchange for a hindered performance on the client
- whoisthemachine 9y agoSlack really doesn't make sense as they already make native apps for mobile devices in Xamarin (.Net), but small projects like this do make sense, as the amount of human resources justification is clearly there.
- mhink 9y agoI'm probably a _bit_ biased in favor of Electron, but I feel like I can give a pretty reasonable rundown of the pros and cons. Pros: - Chromium is a mature, open-source project which shows no signs of going anywhere anytime soon. - Electron allows web developers to use well-understood tools (Chromium/v8, Node/v8) to build web applications with additional, non-Web capabilities in a predictable runtime environment. - Browsers are the most consistent (and consistently available) GUI environment across platforms. - Some of the bigger value-add capabilities (filesystem/device access, windowing, native menus) don't necessarily benefit from native code- the Electron and Node APIs are good enough. - Electron is well-documented, free as in beer, and there are a ton of examples and demo apps. Cons: - Memory usage, obviously. Chrome's biggest selling point was its ability to share resources among tabs (cutting down on memory requirements) which goes straight out the window when each app needs its own instance of Chromium. - Disk usage, obviously. Each Electron package includes the entire modified-Chromium binary it was built with. - Many Electron apps fail to take advantage of the main/renderer process split, because of the easy access to Electron APIs inside renderer processes. - Packaging/building/signing/auto-updating still have a very poor developer experience, and are not consistent across platforms. - It's too easy to open up security holes by opening remote resources in a renderer process with Node integration on. (Personally, if there's one thing I'd change about Electron, this is it.) To tell the truth, I see Electron as a stepping stone for the Javascript community. It proves that there's great interest in doing cross-platform native app development under Javascript. Personally, I'm hoping that after React 16 (with Fiber) launches, we'll see work on a React Native-like framework which fills the gap currently bridged by Electron.
- z3t4 9y agodeveloping for electron or nw.js is wierd as you mix in code that would usually run on a server. the advantage of using electron or nw.js is that you dont have to support all kind of weird browsers. but then it wont run on most mobile phones. so if you want to target mobile make a web app. if you only target pc and want to support both mac linux and windows then there are few alternatives for a gui app.