Future Development

gskinner edited this page Mar 7, 2011 · 4 revisions

This page is for mapping development plans for future versions of EaselJS. All plans are subject to change.

Guiding Principles

There are 4 guiding principles to the EaselJS library. All development decisions should be made within the context of these principles:

  1. Lightweight and performant. Every effort should be made to reduce file size and CPU use, without sacrificing code readability or an extensible architecture.

  2. Compatible, but not dependant. It should be compatible with other frameworks, but not dependant on them. This allows developers to use the library with whatever frameworks or libraries they are most comfortable with.

  3. General use, extensible platform. EaselJS does not target a specific usage (ex. games or data visualization), but rather provides a robust base which can be easily extended. This makes the core knowledge gained while using EaselJS portable to different project types, and enables other developers to create more focused implementations on top of the library.

  4. Clean, encapsulated architecture. The library should be architected to minimize internal dependencies, and to provide clear relationships between objects. This means avoiding obtuse patterns like mix-ins and prototype overwriting. Where possible, developers should be able to utilize just the parts of the library they need with minimal effort.


Core areas of focus:

  • boundary calculations (likely via DisplayObject.getBounds)

  • filter / effects framework

  • performance

  • device support (multi-touch, utilities)

  • helper methods (compatibility, interaction)

  • motion & animation