Like 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.
There is one more thing. Developing in HTML5/JS (with all its ecosystem) is freaking fast in terms of developer productivity. You will probably build full fledge app in shorter time using JS than with C++. So you can deliver MVP to the market faster = profit $$$
And initial group of users are early adaptors anyway. They are usually eager to try new applications even if they are not perfect.
The problem is: "what next?", when users will start complaining about speed or other things.
Should company rewrite original HTML5 based MVP to C++ to gain speed?
Or should they optimize existing HTML5 solution? (many HTML5 apps are running with nearly native responsiveness).
Or something else? Or maybe HTML5 even for MVP is a bad idea?
How did you make the conclusion that JS is faster than C++? An experienced C++ developer, or better yet, an experience C++ developer team, moves “freaking” fast. The only advantage to the HTML/JS stack is you can get cheap labor from dime a dozen web “devs”. That’s it.
Case in point, look at Atom. Let’s assume your “MVP”, “profit $$$” and what not is somewhat correct. Yet, the amount of engineering time and effort it has taken to optimize that tech to fix things that are trivial in the native world is staggering. How does that fit in your “profit $$$” equation, as an initial core team of experienced C++ developers would have developed with these issues in mind and created a product that is viable in the same scenarios.
But if you were building such app in C++ what third part solutions would you recommend for building multiplatform GUI?
Qt? GTK? What is used now and what will be working/looking good on all three main platforms? (Mac/Linux/Windows)
Fuck 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.
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.