I spent a lot of time evaluating different options. Crafty is my favorite and the one I use for my current project. LimeJS is pretty good, but it relies on Closure , which I am not a fan of. I also liked EaselJS and CasualJS a lot.
btw One of the most โprofessionalโ options is Impact , so you should also take a look at this. However, it does not provide many of the functions that various open source libraries perform, and Impact functions ensure that other libraries are not that important. For example, if you need a physics engine for your game (and probably a platform game), you can easily integrate Box2D into your own. another link Box2D
However, doing things from scratch without using a third-party library is not a bad option. The free Dive Into HTML5 e-book does an excellent job of how the Canvas element works. The fact is that there are many graphic functions that a good graphics library will provide that are not built-in: a display hierarchy that allows Z-ordering and attachment of objects to each other, animation through both animation objects and sprites, mouse events so that you can click objects etc.
UPDATE: More than a year has passed since I posted this answer, and the situation has changed a bit (this is a nascent technology area.) Although Crafty is still an excellent choice, EaselJS gained a lot of momentum last year (especially considering Adobe jumped on the EaselJS train .) I am going to switch to this tool for future projects (also note that it has a new site )
UPDATE 2: EaselJS is still my favorite option, but another great option has appeared: Phaser . I plan to study this in the near future.
source share