A year ago, during FITC Amsterdam 2012, Grant Skinner gave a talk on his recent endeavours in HTML 5. Among other things, he showed a brand new set of open source javascript libraries he had been working on, collectively known as CreateJS. This year, he talked about these same libraries, highlighting the progress that has been made, both in features and tooling.
The basic layout and purpose of CreateJS have not changed. The suite consists of four distinct libraries for display, animation, sound and loading. Together they can be used to create rich content online. Up until a few years ago, Flash ruled this field, but has since been overthrown by a rabble of unruly open web technologies. One of the goals of CreateJS has been to return order to this chaos, providing a consistent and well documented api to help developers utilise all of these new capabilities.
To this end, one of the core philosophies of CreateJS is to be very approachable. The api is designed in such a way that it is familiar to ActionScript developers, while still offering the flexibility JavaScript developers have come to expect. Moreover, the suite does not force any specific workflow on the developer, supporting both inheritance and composition based approaches. While it is not hard to stand out with good documentation in the .js world, great effort has been put into this area over the past year, further enhanced by many tutorials and examples.
Another core philosophy of CreateJS is modularity. While the four libraries work very well together, each one can be used independently. If, for instance, you want to use JQuery instead of TweenJS, which is the animation library included in the suite, you can do so, while still using the features of the other three. Modularity is further extended into the plugin based design of the libraries themselves. EaselJS, which is the rendering library, can make use of different renderers based on preference, or capabilities of the platform the content is running on. You can even create your own renderer, which gives you great control while maintaining the same high level api. The same concept applies to SoundJS, which can use different standards to play sound.
Since it was first released about a year ago, CreateJS has been downloaded over 50.000 times. It has been used in many projects, spanning games, e-learning, data visualisation, ads and banners. Open web technologies have evolved as well, increasing the range of platforms that can be reached. Windows 8 supports HTML5 as an important way to make applications, and people have been successful in deploying CreateJS based projects as apps for iOS and Android.
The most progress regarding CreateJS over the past year has been made in tooling, streamlining the asset pipeline by bringing designers into the fold. Thanks to support from Adobe, Flash CS6 in particular integrates very nicely with CreateJS. The new sprite sheet exporter feature can target EaselJS as an export target. Toolkit for CreateJS, which is a free extension for Flash, has also been released. This gives designers the ability to create complex animations with familiar tools, and export them in a format that can then be used by developers.
Grant is pleased with the way CreateJS has matured in its short lifespan, and rightly so. The suite is feature rich and does a very good job at making the new capabilities of the open web a lot more accessible, empowering both developers and designers to create more easily. Grant Skinner’s biggest regret is the fact that he has not yet had a lot of time to actually build content on top of his framework, which is quite ironic, but not unexpected considering the time and effort he has put into the libraries.
Written by: Szenia Zadvornykh
This post was written by guest blogger, Szenia Zadvornykh from dpdk, who attended and covered four sessions at FITC Amsterdam. Follow FITC on Twitter, Facebook or on RSS for updates.