Dec 26
I’m proud to announce that Prana 0.3.1 has been released. This is a minor release that contains some of the new features and improvements since version 0.3.
- support for scope (singleton and prototype) on object definitions
- support for factory objects
General info: http://www.pranaframework.org
Download: SourceForge Download Page
Happy holidays and enjoy this release!
Changes in version 0.3.1 (26.12.2007)
General
* improved documentation
* build file now handles releases
Package org.pranaframework.collections
* IMap and Map now have “get” and “put” methods to support data binding
* IMap now implements ICollectionView
* added MapViewCursor
Package org.pranaframework.config
* AppSettings no longer implements IEventDispatcher because Map now does
Package org.pranaframework.ioc
* added support for factory objects in ObjectContainer through IFactoryObject interface
* added ObjectDefinitionScope enum
* IObjectDefinition now has “scope” getter and setter
* added “scope” getter and setter to ObjectDefinition
* “isSingleton” in ObjectDefinition now alters scope property instead of having a private member
* ObjectContainer.getObject() is now able to return singleton or prototype objects
Package org.pranaframework.ioc.factory
* added “isSingleton” getter to IFactoryObject
* added AbstractFactoryObject base class for factory objects
Package org.pranaframework.ioc.factory.config
* added RandomNumberFactoryObject to return random numbers
* added FieldRetrievingFactoryObject to retrieve static or non-static fields from an object
Package org.pranaframework.ioc.parser
* added scopeAttributePreprocessor to XmlObjectDefintionsParser to set up scope attributes on object definitions
Package org.pranaframework.ioc.util
* added singleton and scope attributes to Constants
Package org.pranaframework.reflection
* added Field as a base class for all fields
* Accessor now extends Field instead of AbstractMember
* Constant now extends Field instead of AbstractMember
* Type now extends Field instead of AbstractMember
* Variable now extends Field instead of AbstractMember
Package org.pranaframework.utils
* TypeConverter.execute() can now return a class
Add to Bloglines -
Digg This! -
del.icio.us -
Stumble It! -
Twit This! -
Technorati links -
Share on Facebook -
Feedburner
Dec 22

Following up on the FeWeb presentation I did on our Flex development, I thought it was worth compiling a list of the tools and technologies we use. This is certainly not a complete list of all tools out there, but just the ones we use in our day to day development.
All descriptions were taken from the tools’ sites.
Tools
- Flex Builder (Plugin): Adobe® Flex™ Builder™ 2 is an Eclipse™ based IDE for developing rich Internet applications (RIAs) with the Adobe Flex framework.
- Eclipse: an open source community whose projects are focused on building an open development platform
- Ant: a Java-based build tool. In theory, it is kind of like Make, but without Make’s wrinkles.
- Flex Ant Tasks: provide a convenient way to build your Flex projects using an industry-standard build management tool.
- ASDoc: a command-line tool that you can use to create API language reference documentation as HTML pages from the classes in your Flex application.
- Cruise Control: a framework for a continuous build process. It includes, but
is not limited to, plugins for email notification, Ant, and various source control tools.
Frameworks
- Cairngorm: a lightweight yet prescriptive framework for rich Internet application (RIA) development.
- PureMVC: a lightweight framework for creating applications in ActionScript 3, based upon the classic Model-View-Controller design meta-pattern
- Prana: an Inversion of Control (IoC) Container for the Flex Framework
Unit Testing
- FlexUnit: a unit testing framework for Flex and ActionScript 3.0 applications. It mimics the functionality of JUnit, a Java unit testing framework, and comes with a graphical test runner.
- Flex Unit Optional Ant Task: Allows you to hook FlexUnit into a Cruise Control cycle and extract test reports
Libraries
- Corelib: consists of several basic utilities for MD5 hashing, JSON serialization, advanced string and date parsing, and more.
- Flexlib: a community effort to create open source user interface components for Adobe Flex 2
Remote Gateways
- WebORB: facilitates connectivity between rich clients created with Flex, Flash or AJAX and server-side applications developed with .NET, Java, Ruby on Rails, PHP or XML Web Services.
- Fluorine: an open source .NET Flash Remoting Gateway.
Add to Bloglines -
Digg This! -
del.icio.us -
Stumble It! -
Twit This! -
Technorati links -
Share on Facebook -
Feedburner
Dec 16
Niclas Nilsson, recently wrote a post on InfoQ about the benefits or the lack of benefits of using Dependency Injection (DI). In the post he summarizes a discussion that spanned multiple blogs, all with their own pros or cons of using DI. It is an interesting read to say the least. If you’re new to DI or even if you’re familiar with it and are pro or con, you will certainly pick up new motivations and ideas.
Bringing this into a Flex context, I was wondering how many Flex developers are actually using DI. Since I’m developing Prana, an Inversion of Control (IoC) container for ActionScript 3.0, and have talked about it with several people (mostly Flex developers), I know that DI and IoC are concepts that are still pretty unknown to many of them. There are also lots of misconceptions like: DI is only good for mocking while Unit Testing, it costs more time/money, DI is all about XML, it’s too complicated, it stimulates bad application design, …
So I’d like to hear from you. Are you as a (Flex) developer using any form of DI or IoC? Is it DI-by-hand or are you using any container (which one)? If you’re not using it, is that because you haven’t figured out what it is or are you convinced that it does not serve your needs? Feel free to share your thoughts, opinions and experience.
Add to Bloglines -
Digg This! -
del.icio.us -
Stumble It! -
Twit This! -
Technorati links -
Share on Facebook -
Feedburner
Dec 13
Yesterday evening, the 5th annual FeWeb conference took place in Edegem. I did a session on our Edumatic product development with Flex and what tools we use on a daily basis. Below is a download link for those interested in my presentation files. The slides contain some useful links to the tools mentioned.
feweb-12-12-2007.ppt (273 kb)
feweb-12-12-2007.pptx (187 kb)
For a review of the conference I can recommend the following post by Peter Elst: FeWeb - Flex, Silverlight, AIR and more.
Add to Bloglines -
Digg This! -
del.icio.us -
Stumble It! -
Twit This! -
Technorati links -
Share on Facebook -
Feedburner
Dec 11
Thanks to the free pass I got from Christoph Rooms at Adobe, I made it to the JavaPolis conference in Antwerp today. I visited the event last year and certainly didn’t want to miss it this year. There is a strange and attractive atmosphere of collective geeky-ness and it is oh so cool. The fact that there are people here from all over the globe proves that this is an interesting conference for every (Java) developer out there. Just like last year, this event seemed professionally organized. At the entrance, every attendee received a backpack with a shirt, a notepad and a conference magazine. There are several boots from vendors that give you interesting information on their products, reductions and of course tons of swag. There are also free drinks for everyone, dinner at noon and fruits and candies.
I arrived pretty late but just in time for the first session and found Peter Elst there as well. Up was a session on Flex for a full house. I think there were easily 500 people in the room. James Ward and Bruce Eckel (that’s right, THE Bruce Eckel) were pair presenting and did an excellent job at it. They thoroughly explained the advantages of using Flex as a presentation tier and showed some sample applications. Later on they walked us through an example on how to connect to JSP pages to fetch data and how to consume the Flickr API. The Java crowd seemed to like it and it gave me a confident feeling that we as a development team are using the right technology (Flex) for the right job (interactive user interfaces). Having Bruce Eckel over to present was probably the best move Adobe could make to convince a Java crowd.
Next session was on JavaFX by Jim Weaver. I hadn’t seen it in action before so this was my chance of getting to know it. Unfortunately I was not really impressed. The technology seemed to be ages behind on what we are doing today with Flex for RIA development and I can only imagine hard core Java developers wanting to use this. Of course their is a strong programming language behind it - just like C# is for Silverlight - but the whole thing feels like a desperate attempt to catch up with Adobe in the RIA space. I have the same feeling with Silverlight btw.
Last session was Erich Gamma on Jazz. He talked about how agile development teams are working today and how there still are many pain points in bringing all project information together. This being SCM, bug tracking, project management, iteration plans… Jazz attempts to bundle all this info in a single application that makes it easier to access project information for the whole team.
Add to Bloglines -
Digg This! -
del.icio.us -
Stumble It! -
Twit This! -
Technorati links -
Share on Facebook -
Feedburner
Recent Comments