2010-01-25: More new features with Parsley 2.2.0
This is the second bigger feature release after the initial 2.0 version last June. This time it is even fully backwards compatible for configuration classes and files and normal container initialization code. Only if you delved deeper and talked to internal APIs for creating framework extensions some adjustments may be necessary.
Apart from many smaller enhancements, this is the list of the most significant changes and additions:
- There is now support for asynchronous commands in the messaging framework which now incorporates several ideas which originated in the Cairngorm 3 Library project, in particular the Integration Library. It allows to remove a lot of plumbing code when working with RemoteObjects for example, as it is the framework which manages the results and faults and passes them on to any registered result or fault handlers in the application. This functionality comes with support for short-lived commands, that are only wired to the Context for the duration of the command execution and then disposed. For more details see Asynchronous Command Methods and Short-lived Command Objects.
- Dynamically wired views can now be configured with MXML and XML, which allows for different configurations for the
same component class. See
MXML and XML configuration for views.
Furthermore you can now also instruct the framework to automatically wire the views if you do not want to use the explicit
<Configure/>tag. - There is a new
[Observe]metadata tag which allows to observe the lifecycle of other objects and get notified when they are wired to or unwired from the Context. For details see Lifecycle Observer Methods in the manual. - In Flex applications the framework can now be initialized with MXML tags, which allows for tidier MXML classes than the old static entry point methods. The latter remain available in case you need them, in Flash applications they are still the only option. The new tags also now allow to add objects which have already been instantiated to the Context builder and makes them available for injection.
- And finally, thanks to a contribution by Tom Sugden there is now an "official" sample application. It's a very simple Hello-World style application only showcasing a tiny fraction of the frameworks functionality, but may be a very good start for someone completely new to the framework or even new to the concept of IOC. You can launch that application here. More sample applications adding more complex functionality are likely to follow.
If you have direct bookmarks to the manual or API docs please update them, since the URL has changed for 2.2, to keep the old documentation available for those still using 2.0 or 2.1.
You can download the new version here.