I have finally gotten the chance to immerse myself in Flex code lately. I decided to do this series to capture my first hand experiences with Flex. Please share your feedback on the challenges and strengths I highlight. I would love to know if your experiences differ, or if you can fill in some of the gaps where I might be missing something. For those of you considering Adobe Flex, hopefully this will give you an accurate picture of building applications with Flex.
Let’s jump into the Overview. Overall, I still see Flex as a game changing technology – a total home run for application developers. Simply put, we have been able to do things that haven’t been possible with other technologies available to Java developers – certainly not for a comparable level of effort.
A key example of this is the user interface for the Gorilla eXecution Engine (GXE). The GXE is the product my company develops for executing and prototyping on top of UML models. The founding Gorillaz have built the user interface application on top of the core engine a number of times in different technologies (the most recent version in JSF). The Flex version we are currently developing comes with a number of benefits. First off, it is so much more compelling than the previous versions. More important though, Flex has enabled us to build truly extensible components that developers can use to build custom applications using the GXE engine, and there is already high quality tooling support for using these components. JSF is only now starting to get some decent tools – two years after the JSF version of GXE was developed, and JSF didn’t offer us a clean architecture to make our components truly extensible.
On the other hand, I have been a bit surprised by the overall maturity for a 3.0 release – with all of the activity around Flex I expected things to be a bit smoother. In our development, we have encountered a number of time consuming issues that seem to come down to framework and eco-system immaturity. The larger concern being the state of the eco-system, as Adobe is reliant on the community to thrust this forward. I do realize that this is the reality of working with an emerging technology and that it is one of the trade-offs. However, this shouldn’t be underestimated in terms of the time investment required to overcome these challenges. Things that are regarded as simple in more established technologies (e.g. in depth testing), like Java, can turn into a large time suck. I don’t see any of these issues as fatal for Flex development, and we have been able to overcome most of the challenges relatively quickly. However, like learning anything new, it is sometimes surprising where these issues arise. Also, it is important to weigh these challenges against all the things Flex makes easy that used to seem quite difficult.
Click here to subscribe to my RSS feed and follow the rest of this series along.
Share and Enjoy:
These icons link to social bookmarking sites where readers can share and discover new web pages.