iio engine is a JS library that speeds the creation and deployment of HTML5 Canvas applications. The engine has no dependencies and can be interfaced with Box2D. The core platform is open source and free to use for any purpose. This version [v1.2] was released in 2013, a brand new version [v1.4] has been released. Visit iioengine.com for downloads and documentation
The download includes minified and production versions of the core iio library. Collaboration and community additions to the engine and its extensions are always encouraged. Submit additions, questions, and bugs on Github.
iio was designed to be as lightweight as possible. Objects have a simple mode, to prevent them from carrying any extra weight from unused data. No application is too simple to benefit from utilizing iio.
The iio Engine is not a bulky framework - its about 1/70th the size of an average mp3 file.
Device support for HTML5 is rapidly increasing and iOS, Android, and Windows 10 already have their own respective HTML5 application stores. Like Mozilla, Google is also betting on the future of web applications with the launch of its new Web based Pixel laptop.
Think about this future - instead of having to constantly monitor your app's functionality across multiple platforms with every new OS change, the creators of those platforms will be scrambling to make their OS's compatible with your app.
Now is the time to invest in HTML5 software... let's get started with iio.
Web applications are inherently cross-platform. Deploy one script, and your users will be able to access your app on all their internet connected devices.
See mobileHTML5 for a current update on HTML5 feature support for web browsers and mobile devices.
iio attaches a graphics engine to Box2D by giving its Joint and Shape classes new methods and properties. This makes the Box2D workflow easier than ever. Check out this code sample - if you're familiar with Box2D, it should be very exciting. See the iio-Box2D Docs for more info.
//Adding graphics with iio Engine 1.2
io.addObj(world.CreateBody(bodyDef))
.CreateFixture(fixDef)
.GetShape()
.prepGraphics(io.b2Scale)
.addImage('myImg.png')
.setStrokeStyle('black',2)
.setShadow('rgb(150,150,150)',10,10,4);