Neat. This and Oryol [1] appear to have similar goals, I think this already calls for a more in-depth comparison... Either way, this kind of technology could end up being a better choice than the node-webkit / electron paradigm, for many projects that want to target in-browser and native platforms.<p>I've been planning a project like that using raw GL, but with these frameworks popping up, the concept might go from experimental to very robust.<p>The native version is inherently lightweight and the emscripten/browser version could also be very lightweight and efficient, depending on how much attention they pay to that target while developing the framework. Looking forward to see how this plays out.<p>[1]: <a href="http://floooh.github.io/oryol/" rel="nofollow">http://floooh.github.io/oryol/</a>
Looks quite nice.<p>Since it is also from Google, even though not officially, maybe the Android NDK team could learn a few things about C++ code quality.<p>Ion's code looks so much nicer than any these APIs<p><a href="https://developer.android.com/ndk/reference/index.html" rel="nofollow">https://developer.android.com/ndk/reference/index.html</a>
Looks pretty good, but would like to see more than just a features list. Some documentation? An issues list? A way to discuss the project with the developers and other users? (e.g. via Gitter or a Google Group)
This might be what I need, but it needs guides and tutorials ...
Basically what I'm looking for is a thin client that can render a canvas, or image, and get keyboard/mouse inputs. And if possible use the HTML Canvas API, and run JavaScript. Basically something like nw.js or Electron, but with only a canvas. With cross platform support.
Putting the project name/author in the title would probably draw more attention (i.e. "Google's Ion: cross-platform C++ OpenGL application framework")
This illustrates one of the serious issues with C++: numerous code files in a project authored relatively recently that are dedicated to basic application plumbing such as memory allocation/tracking and concurrency.<p>Its 2016. There are a number of performant cross-platform systems/languages that have good built-in facilities for these basic plumbing problems.<p>C++ is an outdated language, and the entire mindset and ecosystem is wasteful and constantly reinventing the wheel. C++ was still sort of relevant when I was playing with it in High School in 1994, but even then it was dated in most ways.<p>These are some very poor software engineering choices.<p>Educate yourselves about the Nim programming language.