Flex 3 Vs Flex 4
The latest and piping-hot version of Flex is Flex SDK 4. How different is it from Flex 3? Let’s take a look.
The code name for Flex SDK 3 is Moxie, while that of Flex SDK 4 is Gumbo.
In Flex 3, the layout of components and containers are defined inside individual controls. Halo components which include List, TileList, and HorizontalList are used. These Halo components share the same functionality but for their layouts. Still, their layout logic is defined within these component classes.
In Flex 4, the layout has been decoupled from components. Spark components are used in Flex 4 which includes Application, List, ButtonBar, and Panel.These Spark components can define their layouts declaratively. In all of these components, containment is managed by the Group class and the layout of the Group’s children is delegated to an associated layout object.
Flex SDK 3 supports Flash Player 9 and Flash Player 10, but some graphical features are not supported in it. Whereas, Flex SDK 4 fully supports Flash player 10, including the Flex 3 features and also supports some additional features like Flex graphics.
One of the major themes in the Flex 4 is “Design in Mind”. This goal involves creating a smoother workflow between designers and developers. To help achieve this, the framework provides a clear separation of the visuals for a component and the rest of its behavior.
In Flex 3, an individual component’s code includes logic around its behavior, layout, and visual changes. In Flex 4, the components are factored out into different classes, each handling specific pieces of behavior.
The namespaces and the packages are the main part in Flex.The packages available in Flex SDK 3 are: adobe.*,com.*,flash.*,mx.* while the packages available in Flex SDK are:com.*,flash.*, mx.*, spark.*, flashX.*
The namespace URI available in Flex 3 are:http://www.adobe.com/2006/mxml but in Flex 4 are: http://ns.adobe.com/mxml/2009, library://ns.adobe.com/flex/spark, library://ns.adobe.com/flex/halo
Flex 3 introduces the notion of states to the Flex framework, where changes to a view component can be managed through a simple state change. In Flex 4, view states have been revamped to simplify the syntax and make them easier to use.
Flex 4 brings users into the Flex experience by letting users load and save files from web applications. New file reference run-time access allows local processing of data without round-tripping to the server. In Flex 3, with Flash player 9, there is no local processing of data, but with Flash player 10 there is local processing of data without round-tripping to the server.
A major pain point which almost everyone developing Flex 3 applications has encountered is poor compiler performance. Whereas in Flex 4 , there is improved compiler performance. 25% improvement would be reached without significant restructuring.