State of the Art JavaScript in 2016
>> "You’ll be able to package your application and distribute it like any other desktop application, complete with an installer and auto-updates."Yep, Electron is excellent. However, Electron is built on top of V8 and V8 does not provide a way to protect the JS source. More than the technical problem this becomes legal issue for businesses that want to develop applications/tools rapidly with electron.refer: https://github.com/atom/electron/issues/2570Cons of other options that I know: 
1. Obfuscation is not ideal to hide the source from competitors.2. Writing nodejs modules in C++ is not so easy way. Once could prefer to develop entire app with C++ than the learning curve associated with node modules in C++.3. V8 snapshots maybe a way to go with nw.js. But doesn't work great and it is hard to isolate issues while packaging.4. EncloseJS looks promising. There is no company behind it and no guarantee it will be supported. (I personally have been following up with issues in packaging an open source app with encloseJS. No luck so far with support.5. nexe is interesting. But not easy and no clear way to work with it.What are your opinions? Any alternatives?P.S: I'm framing a base with Java (most likely C++ too) to develop an app that runs on client machine but on browsers. Performance and source protection are my goals. Might open source its architecture eventually.