Building a professional design tool on the web using C++ and Emscripten
medium.com
medium.com
I'm wondering why you exactly decided to go this route? I was expecting your app to be very graphically intensive or have some other kind of demanding requirements. When I went to the site it appears it's some kind of collaborative design tool? Not saying these tools don't require a top-notch UI. Maybe for manipulating and scrolling/scaling huge canvases? Coming from a mapping background, I can totally see this as something lacking in the browser. There aren't many primitives for creating these kinds of image-based interfaces.
There's certainly a trade-off between having super-fast performance and a completely custom rendering engine and adopting a not-often used delivery mechanism and stack (C++/asm.js). I'd imagine it's hard to find people who have all that expertise, it's hard enough finding a good frontend dev in the conventional technologies of the web.
Good luck on your product launch, can't wait to use your UI and play around with it.
I'll also be curious to hear more about what limits the chosen approach end up imposing..
I feel like you'd need to architect for the Render/Main Node.js thread split upfront though, bolting that on would be difficult.
http://keithp.com/blogs/glamor-hacking/
http://mirror.linux.org.au/linux.conf.au/2014/Wednesday/52-B...
Bonus is that Android/iOS is probably just a matter of hooking into just GL, Input & Filesystem APIs.
I'd really love the hear the painpoints of emscripten in production for an actual application. Most of the uses seems to be either games or demos.
Also, for the sake of avoiding complexity, I made a point from the start to never use the STL, and compilation times have stayed nearly instant because of that. Code size is also really tiny when there aren't a million template types floating around.
This comes with the caveat that I'm more comfortable developing without the STL; for other developers or other projects, abandoning the STL may be a tradeoff not worth taking.
And if it works well enough the native version might be a good option for your power users to get better performance.
This is an interesting article so we've turned the penalty off.