Home > Uncategorized > Adobe Flex Frameworks
Adobe Flex Frameworks
Adobe Flex Frameworks
Frameworks and APIs
The Flash Platform, specific to the Flex ecosystem, encompasses a multitude of APIs and frameworks.
Flash Player APIs
The Flash Player APIs are considered to be the base frameworks necessary to compile an Action Script 3.0 application and include the core Action Script 3.0 classes and functionality built into the VM, and the playerglobal.swc class library, which is required by both the Flash and the Flex compiler.
The Flex frameworks is a composite of the core visual components, enhancements to the event flow, metadata tags for compiler declarations, and utility and communications classes. It is also composed of several “sub frameworks” or APIs offering specialized functionality they are…
Ø Flex charting and data visualization components – Although not a part of the open-source Flex SDK, the charting components are licensed with Flex Builder and are considered to be a part of the Flex Framework.
Ø Deep linking framework – This enables enhanced state-integration functionality in the browser.
Ø Logging framework – This allows an application to capture and log messages to text components, class objects, or text files, functioning like an enhanced trace() method.
Ø Automation framework – This allows for automated testing, gathering metrics on application performance and multiple client application synchronization and browsing.
Ø Messaging API – These classes are used to communicate with BlazeDS data services.
The AIR APIs
Adobe AIR consists of two main APIs
Ø The Flash AIR API, which extends the core Flash Player APIs enabling AIR applications to be authored in Flash CS4
Ø The Flex AIR API, which is a part of the Flex Framework, available for Flex AIR application compilation.
Other Adobe Frameworks
Other Adobe frameworks that can assist in the development of Flex or AIR applications include the following:
Ø As3corelib is an action script 3.0 library that contains a number of helper classes and utilities for working with MD5 and SHA 1 hashing, image encoding, and JSON serialization, as well as extensions to the String, Number and Date APIs. http://code.google.com/p/as3corelib/ for more information.
Ø Cairngorm is an architectural framework or “micro-architecture,” composed of several recognizable J2EE design patterns, that encourages best practices in Flex application development, as endorsed by Adobe Consulting. Cairngorm is considered to be a standard for coding enterprise level architectures in Flex http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm for more information.
Ø Flex Unit is a unit-testing framework for Flex and action script 3.0 applications and libraries. It mimics the functionality of JUint, a Java unit0testing framework, and comes with a graphical test runner, http://opensource.adobe.com/wiki/display/flexunit/FlexUniti for more information.
Ø Adobe AIR Update Framework is a collection of best practices and APIs that assist in the development of AIR application auto update functionality, which includes checking for downloadable updates to the AIR application, alerting the user of a newer version of the application, and displaying information about the application version and the opt-in choices for updating the application http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework for more information.
Ø Adobe Spry Framework, although slightly outside of the scope of the Flex ecosystem, is an AJAX framework noteworthy for its use in AJAX AIR applications http://labs.adboe.com/technologies/spry/home.html for more information.
Ø Adobe Data Services Stress-Testing Framework helps developers using Live Cycle Data Services ES 2.6 load test the server-side implementation of their LCDS applications. This framework is not currently compatible with BlazeDS, although BlazeDS support is planned for future versions of the tool. http://labs.adobe.com/wiki/index.php/Flex_Stress_Testing_Framework for information.
Third-Party Frameworks and Components
Popular third-party components and frameworks for Flex include:
Ø ILOG Elixir is a set of advanced data visualization components. Built in partnership with Adobe, ILOG offers high-performance visualization components with unique with rich UI for Adobe Flex applications. See www.ilog.com/products/ilogelixir for more information.
Ø Zend PHP Framework brings together the flexibility and enterprise reliability of the Zend PHP platform with the advantages of Adobe technologies such as an AMF implementation for PHP. This is the result of collaboration between Adobe and Zend to add Adobe technologies to the open-source Zend Framework Project. See http://framework.zend.com for more information.
Ø FlexLib is an impressive open-source community effort to create additional UI components for Flex 2 and 3. Adobe has contributed a few components and libraries, such as the Flex Scheduling Components, to FlexLib. See http://code.google.com/p/flexlib for more information.
Ø OpenFlux is an open-source component framework for Flex that offers a radically different way of building components in Flex. Inspired by the upcoming Flex 5 beta (“Gumbo”) specification, OpenFlux is a component framew0ork that uses intrinsic view and controller properties to control each component’s display and behavior, respectively. This offers a very flexible MVC approach each component’s display and behavior, respectively. This offers a very flexible MVC approach to component usage for Flex3 applications. See http://code.google.com/p/openflux for more information.
Ø Other architectural frameworks include the EasyMVC framework (http://projects.simb.net/easyMVC), the PureMVC framework(http://puremvc.org), the Mate framework (http://mate.asfusion.com), and the swiz framework (http://code.google.com/p/swizframework ), to name but a few.
Ø Papervision3D (www.papervison3d.org) is an impressive 3D rendering framework for Action Script 3.0 and is considered the gold standard of 3D frameworks in Flash; it is popular Away 3D (http://away3d.com), Sandy (www.flashsandy.org), and Alternative3D (http://alternativaplatform.com/en/alternativa3d).
Ø Degrafa, which stands for Declarative Graphics Framework, is an open source initiative that enables Flex developers to create shapes with the Flash Drawing API in MXML using an intuitive XML-based declarative markup similar to the SVG format. Seewww.degrafa.com for more information.
Adobe is active in Open Source projects. The following are a number of our contributions and commitments to open source.
BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe® Flex™ and Adobe AIR™ applications for more responsive rich Internet application (RIA) experiences. Previously available only as part of Adobe LiveCycle® Data Services ES, Adobe is announcing its plans to contribute the proven BlazeDS technologies to the community under the LGPL v3. BlazeDS gives the rapidly growing Adobe developer community free access to the powerful remoting and messaging technologies developed by Adobe.
Cairngorm is the lightweight micro-architecture for rich Internet applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for RIA development advocated by Adobe Consulting, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical rich Internet applications. Previously available only as Adobe Consulting releases through labs.adobe.com, Cairngorm is now evolving towards a project that will invite community leaders and enterprise adopters to partner with Adobe Consulting in the ongoing development of Cairngorm.
Durango is a framework that allows developers to build Adobe AIR applications that can be customized by end-users. Durango allows developers, designers and end-users to easily mashup independent components to create new applications or extend existing Durango-enabled applications. These “mashable” components can be visual or non-visual (e.g., web services). Designers and developers can rapidly create prototype applications and then generate Adobe Flex MXML source projects for further development. End-users can take parts of their favorite applications and bring them together in new ways.
Adobe’s Extensible Metadata Platform (XMP) is a labeling technology that allows you to embed data about a file, known as metadata, into the file itself. With XMP, desktop applications and back-end publishing systems gain a common method for capturing, sharing, and leveraging this valuable metadata—opening the door for more efficient job processing, workflow automation, and rights management, among many other possibilities. The XMP SDK is available as open source.
Adobe® Flex™ is a cross platform, open source framework for creating rich Internet applications that run identically in all major browsers and operating systems. The Adobe® Flex™ SDK is the foundation of Flex, providing the core Flex compilers, component library and debugger. Using only the free SDK and an IDE of your choice, you can build and deploy rich Flex applications.
FlexPMD is a tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as Unused code (functions, variables, constants, etc.), Over-complex code (nested loops, too many conditionals, etc.), Over-long code (classes, methods, etc.), and Incorrect use of the Flex component lifecycle (commitProperties, etc.).
FlexUnit is a unit testing framework for Flex and ActionScript 3.0 applications and libraries. It mimics the functionality of JUnit, a Java unit testing framework, and comes with a graphical test runner.
Generic Image Library (GIL) is a C++ generic library which allows for writing generic imaging algorithms with performance comparable to hand-writing for a particular image type.
Open Source Media Framework enables developers to easily assemble pluggable components to create high-quality, full-featured playback experiences. The open aspect of the framework enables collaborative development for web video monetization, with lower costs and faster turnaround.
The Adobe Media Gallery (AMG) is a Flash web photo and video gallery whose appearance and behavior can be customized via XML files.
The Adobe Source Libraries (ASL) are a collection of C++ libraries building foundation technology to allow the construction of commercial applications by assembling generic algorithms through declarative descriptions. Updates monthly.
The Text Layout Framework is an extensible ActionScript library, built on the new text engine in Adobe Flash Player 10 and Adobe AIR 1.5, which delivers advanced, easy-to-integrate typographic and text layout features for rich, sophisticated and innovative typography on the web. The framework is designed to be used with Adobe Flex or Adobe Flash Professional and is included in Flex 4, code named “Gumbo”. Developers can use or extend existing components, or use the framework to create their own text components.