3 ms·
Electron is the only decent solution for building a cross OS app in 2019. I challenge you to give me a stack that It's fairly simple to maintain on multiple des
by mariopt 8y ago
Electron is the only decent solution for building a cross OS app in 2019. I challenge you to give me a stack that It's fairly simple to maintain on multiple desktop platforms, build UIs, has plugins to support most of the feature we're used today in a browser, etc. Don't forget that javascript now runs on the server, having a single language for everything is amazing.
The browser just became the best ecosystem for build apps and the native development frameworks are years behind the browser. The default set of Widgets available will make you waste months building your own widgets versus downloading a js plugin and it's done in 30 minutes.
Electron just gets things done, period.
There are examples of fast Electron apps like Realm Browser. You can also build the UI with Electron and Javascript while you do some IPC with smaller binaries written in C++, Go lang, C#, etc. to try to improve the performance of some operations. It is possible to write good and fast Electron apps.
Don't forget that many js developers came from jQuery and other backgrounds and might not have the best ideas when it comes to build desktop apps and even understanding an OS architecture. I don't mean to be mean with these developers, we need to acknowledge that these days lots of companies just want Javascript developers and any cost.
Another major benefit of Electron is that platforms like Linux do get some support which is really great.
Without electron, I could not use Linux to work on projects that use Slack for example.
Without electron, many developer tools wouldn't exist at all and most likely they would be tied to windows and/or mac. Linux would be the biggest looser for sure.
Don't think it's fair to shit on Electron, I love fast apps but, sometimes, buying more RAM and a faster CPU just solves the damn problem. I'm not saying people should write slow apps but at the end of the day I've stuff to get done.
I would rather see a better collaboration to try to improve Electron because... we need it. Either this or the native development tools need to wake up to 2019.
- saagarjha 8y ago> Electron is the only decent solution for building a cross OS app in 2019. It's not decent. > I challenge you to give me a stack that It's fairly simple to maintain on multiple desktop platforms C++ core library, thin UI layer on each platform. > The default set of Widgets available will make you waste months building your own widgets versus downloading a js plugin and it's done in 30 minutes. Why would you build your own widgets? The ones the OS provided have had years put into them.
- mariopt 8y ago> C++ core library, thin UI layer on each platform. The time required for coding in C++ is much more higher than javascript, just this point alone requires a bigger budget, time and a HR problem: hiring C++ developers vs javascript. You'll also spend more time configure each build for each platform, Electron has this automate for you already. Web technologies are easier to learn: A designer can write CSS for your Electron desktop app but can not code the style in C++. It's just easier to add more people to the project. I'm aware than native tools do have IDE for designing UIs and easier markup languages like QML. Guess what, html and css are the true winners for the majority of developers/designers. The IDEs for native development are targets for developers, they don't account for designers. I've worked with several some years ago for windows, mac and linux. > Why would you build your own widgets? The ones the OS provided have had years put into them. The widget provided by the OS are basic. If you try to recreate a modern web interface you've to build each components by yourself. On the web you've plenty of option to quickly assemble a GUI. On Elementary OS, the OS style is done in CSS even though they use Vala/GTK+ to code the UI. Also a cross platform GUI is a promise that is never delivered properly. With Electron apps can deliver a consistent UI: Slack looks the same regardless of the platform. With native, the UI looks good on one OS and like crap on others. When Electron allows you to build a fairly complex app in 3 months, it's hard to sell native development due to the massive time you'll need. Just look at the React Native, it exists because it is a lot cheaper and faster than writing individual native iOS and Android apps.
- saagarjha 8y ago> The time required for coding in C++ is much more higher than javascript I'm not convinced that this is true. > The widget provided by the OS are basic. Not really. I am yet to see an Electron widget that does drag-and-drop, accessibility, theming, keyboard control, etc. right. OS widgets are by no means "basic". > Also a cross platform GUI is a promise that is never delivered properly. With Electron apps can deliver a consistent UI: Slack looks the same regardless of the platform. With native, the UI looks good on one OS That's the whole point: I don't want my apps to look dumbed down to the lowest common denominator. Each native app looks good and fits in on its platform. > Just look at the React Native, it exists because it is a lot cheaper and faster than writing individual native iOS and Android apps. React Native is much nicer than Electron in this respect, because it doesn't package then entire Chromium engine and uses native controls to a limited extent.