6 ms·
Ion: Cross-platform OpenGL library from Google
- giancarlostoro 11y agoIt would be nice to see screenshots at some point, other than that, maybe incorporate any / all requirements for building the project if any.
- mrpippy 11y agoPutting the project name/author in the title would probably draw more attention (i.e. "Google's Ion: cross-platform C++ OpenGL application framework")
- ZenPsycho 11y ago"not an official google product"
- robotresearcher 11y ago"Used by many teams across Google, running on billions of devices through multiple Google products"
- ZenPsycho 11y agostill not appropriate to refer to it as "Google Ion" or even "Google's Ion"
- microcolonel 11y ago"Copyright 2016 Google Inc. All Rights Reserved." Is in all of the files. It's hardly imprudent to call it Google's. If it's not Google's, it's nobody's. Could go for "Google publishes Ion, a cross-platform OpenGL abstraction."
- ZenPsycho 11y agoThere is a subtle and nuanced difference between simply owning the IP for something, and endorsing it as an officially supported product.
- robotresearcher 11y agoThat's right. But 'Google's' covers both cases. Evidence: case a: Bernie Sanders' socks. case b: Bernie Sanders' campaign promises. You weren't confused by the nuanced difference in ownership and endorsement, but you learned more about the socks - and may be more interested in them - than if the name was omitted.
- mpweiher 11y agoDunno, these two seem different to me: "Google Ion" -- officially endorsed project "Google's Ion" -- something owned/done by Google
- RamshackleJ 11y agoUhh so how do I use this? the readme makes it sound great but doesn't really give me any instructions
- voltagex_ 11y agohttps://github.com/google/ion/tree/master/ion/demos https://github.com/google/ion/tree/master/ion/demos and https://github.com/google/ion/tree/master/ion/doc/usersguide/examples https://github.com/google/ion/tree/master/ion/doc/usersguide... may help.
- axefrog 11y agoLooks 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)
- num3ric 11y agoI get "ERROR: gyp returned non-zero" while building. Missing dependencies? (Win10.)
- tylocook 11y agoI get the same error. Earlier in the error message it says generate_ninja_environment.gyp not found It does not appear to be in the file system.
- pierrec 11y agoNeat. 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. 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. 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. [1]: http://floooh.github.io/oryol/ http://floooh.github.io/oryol/
- ricardobeat 11y agoThe main advantages of electron are html, css and javascript. This is not going to be an alternative to it unless you implement a browser engine on top of it, going full circle... On the other hand, something like react-native for desktop, coupled with a nice GUI library, could be very interesting.
- pierrec 11y agoSure, this will never be a 100% alternative to electron. People who derive pleasure from writing HTML, Javascript, and CSS whenever possible will never stray from that kind of framework. As you say, some also choose these frameworks because of the extensive browser API features. However, some people who don't particularly appreciate these languages and API still use electron because it allows them to target browser and native with a single code base. This is where things might change. The sad fact is that most electron applications only use a small fraction of the massive featureset provided by a full browser, and whenever a tiny GUI application gets forcibly bundled with 70+MB of browser runtime, a cute fluffy animal dies. I think this new kind of framework has the potential to save some cute fluffy animals in the long term, though certainly not all of them.
- ilaksh 11y agoThis 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. Its 2016. There are a number of performant cross-platform systems/languages that have good built-in facilities for these basic plumbing problems. 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. These are some very poor software engineering choices. Educate yourselves about the Nim programming language.
- JoeAltmaier 11y agoCurious notion. C++ has perhaps the richest library set in the world.
- alblue 11y agoOnly if you've never seen libraries for other languages: there are an order of magnitude more for the JVM or JavaScript, to name two.
- JoeAltmaier 11y agoI suppose in a particular area - web e-commerce and the like. Stats for SourceForge (maybe out of date): http://www.statisticbrain.com/computer-programming-language-statistics/ http://www.statisticbrain.com/computer-programming-language-...
- pjmlp 11y agoOutside performance critical areas, where shaving off KB and ms really counts, C++ has become an infrastructure language with others taking most of the work.
- pcwalton 11y agoI'm not exactly a fan of C++, but this isn't fair. What you're describing is more of a problem with this project's coding style than the language. Most of https://github.com/google/ion/tree/master/ion/base https://github.com/google/ion/tree/master/ion/base is covered either by the STL or Boost; most of what the C++ committee has been doing lately consists of trying to encourage people to not do what this project is doing (by improving the breadth of the standard library).
- pjmlp 11y agoLooks quite nice. Since it is also from Google, even though not officially, maybe the Android NDK team could learn a few things about C++ code quality. Ion's code looks so much nicer than any these APIs https://developer.android.com/ndk/reference/index.html https://developer.android.com/ndk/reference/index.html
- z3t4 11y agoThis 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.
- kengonakajima 11y agoBuild fails in Yosemite inside zlib. I forked it and trying to fix it.. Anyone did?
- joeld42 11y agoI don't really understand their build system so not sure how to fix this cleanly but I added: #define NOCRYPT (1) #define NOUNCRYPT (1) at the top of ./third_party/zlib/src/contrib/minizip/zip.c and unzip.c And that got past the zlib errors on yosemite and built some of the demos (I will post some screenshots on twitter @joeld42, but it's just boxes and stuff). However, there was a linker error later with some json parser (maybe it was in the tests? I can't even tell) that I didn't figure out yet. I also had to install "ninja" because apparently it needs like six different build systems. The "ios" targets build... but I don't know what to do with them. I ended up with a directory full of .app files. Maybe zip them and rename them ipa? Anyways, it looks like there's some cool stuff in there but there's a ton of dependencies and it doesn't really feel "lightweight". I'll definitely keep an eye on this one but it really could use more documentation for people not familiar with google's ecosystem.
- aledalgrande 11y agoWish there was something cross-platform like this, but with the syntax, tooling, performance and compute shaders of Metal.