2011-05-18: Plans for Parsley 3
Two years after the release of Parsley 2.0, the time has come for another major update to the framework. Apart from a number of smaller enhancements and feature additions that you saw in every 2.x release, this version focuses around two major themes:
- Complete redesign of the command support. This area had several shortcomings and inconsistencies in Parsley 2 and features requested by the community turned out to be difficult to add to the existing architecture. The new command support is based on a new standalone library called Spicelib Commands which will replace the old Task Framework. The command integration layer in Parsley will allow to declare sequences and flows with decision points in MXML or XML, inject results from preceding commands in a flow into subsequent commands, automatically add and remove commands in a sequence to and from the Context just for the time they execute, support cancellation by matching messages and much more.
- Splitting the framework into independent projects. Although the internal architecture of Parsley was already quite modular in version 2, this release will finally move some of the optional parts into separate extension projects. The majority of features will be packaged into a new Parsley Core project. But even for the Core many parts become fully optional and can get installed on an as-needed basis. This change is primarily targeted at three use cases: developers being very picky about what features get installed into their applicaiton, restricted environments like mobile that require the smallest SWF size possible and finally other teams building frameworks on top of Parsley with a different preference for the set of features that they want to build upon.
Apart from these two themes the major update will finally allow to get rid of all deprecations. The code base will move from the existing SVN repository to GitHub for easier participation. The Core APIs are supposed to get sealed with this release after some level of inevitable volatility through the Parsley 2 lifetime which saw major advancements and changes with the increasing adoption of the framework and the resulting feedback and feature requests. And there is the plan to create a mailing list for all extension developers so that any potentially breaking change or deprecation can be discussed with all teams affected.
This is just a short summary, you can read the full story on all this in this road map document.
Before work on Parsley 3 will start, the coming weeks will see parallel development of yet another Parsley 2 maintenance release (2.4.1) and the new Spicelib Commands project which needs to be ready before the new Parsley version can be built.