Hacker News new | past | comments | ask | show | jobs | submit login

> 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.




> 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.


> 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.


> C++ core library, thin UI layer on each platform.

For most desktop apps the central "core" is tiny but the UI layer is very thick.


For Slack? Not really.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: