On December 31, 2011, the Apache Software Foundation accepted the Flex Software Development Kit as a community project from Adobe. According to the Apache blog, the foundation is working with Adobe’s legal department to transfer the source code for Flex into the Apache repository while the project is in incubator status. Adobe chose to donate the technology to Apache because they predict that HTML5 will replace Flex and the Flash technology behind the program. Adobe is also going to stop continuing to develop Flash for new mobile devices.
Because HTML5 can provide multimedia capabilities across multiple platforms without a plug-in, Adobe seems to be communicating its belief that Flash will become obsolete. With HTML rich internet application development still in the messy early stages, however, Adobe Flex training is still relevant to today’s developers. Flex will remain relevant for a long time to come. In fact, sites like YouTube, Mint.com and Yahoo! Messenger still utilize Flex technology. In fact, those working on the specs of HTML5 do not expect full completion until the year 2022. Also, the current working subset of HTML5 has nowhere near the current power of Flash.
Many developers worry that the time they have spent both developing and marketing the power of Flex has been in vain. However, Adobe remains committed to investing in Flex in partnership with the Apache Foundation. Many developers will have the ability to get a crack at Flex and to see what applications they can continue to create with the framework. Developers may also come up with innovative ways to utilize Flex within the framework of HTML5.
The History of Flex
Flex first released in 2004 and required developers to use expensive servers to deploy Flex apps. Flex 2, however, was released utilizing a free business model and an integrated development environment based on the Eclipse programming language. In 2007, Flex 3 was released and open-sourced under Mozilla Public License. Then, in 2010, Flex 4 was issued within the Adobe Flash Builder development environment.
Flex 4 allows designers and developers to collaborate continuously while allowing for accelerated development. Flex 4 also featured compiler enhancements, bi-directional components and enhanced text and language. The platform provided full support for Adobe Flash Player 10 and above while at the same time working to lighten the framework. Custom templates, simpler skinning with Spark Architecture and integration with Adobe Flash Catalyst rounded off the fourth generation improvements.
Adobe Flash Builder 4.5 came on the scene in May of 2011. Flash Builder 4.5 delivered full support for developing ActionScript and Flex applications for Google Android, Apple iOS and Blackberry Tablet OS. Flash Builder 4.5 also allowed developers to use Flex for application development across multiple screens and to ease the development of larger applications. Skinning became increasingly easier with the maturation of Spark Architecture.
How Flex is Used
Flex is primarily used to design small web format applications that contain applets and animations with varying degrees of interactivity. It displays animated vector graphics on the web and is often used to program browser games with ActionScript. Applications developed in Flex include Buzzword, Picnik, SlideRocket and Oracle Sales Prospector. The idea is to create rich client-side experiences, not to create web pages and banner ads.
Flex is designed to be easy for developers to learn. It has many similarities to Ruby, PHP, C, C#, C++, Java, VB, Python and ColdFusion. Additionally, Flex is compatible with all HTTP servers, any side server language and version control systems. People who have written software before will have an easy time understanding how to use Flex. Its user interface components are the same as many others, including “like” buttons, combobox, tree and datagrid; however, Flex also supports containers like VBox, HBox, TitleWindow and TabNavigator. Overall, Flex was designed to allow developers to program the client side of applications in a paradigm that they already understand. Also, Adobe Flash is so widely used for web applications that end users of Flex programs will rarely have to install new applications on their desktops or mobile phones.
While HTML5 may be the future of the web for simple interactivity, some web applications simply require richer interaction. Flash will always be relevant for direct manipulation of graphics, extensive offline processing, tight integration with local devices, real-time notifications and alerts, and high-speed binary communication protocols. Flash 10.1, for example, addresses concerns related to mobile phone battery life, and the Flash library for iPhone allows embedding and compilation in native iPhone apps. As long as Adobe keeps Flash relevant, there will always be room for Adobe Flex 4 training.
Adobe Flex Training Components
In training courses, developers will start by learning the fundamentals of Flex. After a brief introduction of Adobe Flex 4.5 and Flash as well as how these frameworks are incorporated into the client/server universe, developers will learn to set up Flash Builder and to build data-driven Flex applications. Also, users will learn to lay out a form in Design mode and how to do basic styling and skinning. Developers will be trained in how to create a user interface using data binding as well as how to request and retrieve XML data from the server. They will also learn to organize design elements and code, creating MXML custom components with ActionScript properties.
Additional training will help developers to have a greater understanding of event and data basics as they relate to Flex. Handling a user event, using the event object and using the addEventListener() method are all covered here. Developers will also learn a variety of methods for retrieving remote data, including ArrayCollection, by HTTPService, WebService and RemoteObject. Users will also learn to create typed data models using Flash Builder data services with an understanding of the MVC pattern (separating model, view and controller).
Data handling and manipulation are also crucial components of Flex training. Extending events, sending remote data, and validating and formatting data are the chief elements of data manipulation. Developers will also learn about using two-way binding and about how to use the Flash Builder data wizard. Sending remote data, just like retrieving remote data, may involve the use of HTTPService, WebService and RemoteObject.
Page layout and animation are the layers that add appeal to the client experience. Developers will learn multiple ways to display data, including using the DataGroup container and list-based controls. They will create and navigate pages in a user interface, create pages with Flex states, and use constraints to control component layout. In addition, developers will be trained to animate components with effects and to animate states with transitions.
To complete the Flex design, developers will learn to control text using the Text Layout Framework and to define styles using advanced CSS functions. They will be trained to skin Spark components, to create custom skin properties, and to implement skin parts and states. In addition to learning to draw with MXML graphics, developers will learn to animate button components. They will also learn the steps for deploying Flex and Adobe AIR applications.
How to Select a Good Training Program
To have the best possible training experience, developers should make sure to steer clear of programs that offer glowing testimonials without any empirical evidence that the training works. Good programs can point to results, such as projects completed or jobs landed by graduates. Also, developers should never choose a training program without checking references. When calling references, developers should have a pre-set list of questions and standards in mind.
While learning academies can use the same curriculum over and over again, developers should choose training that reflects real-world experience. Instructors should have worked on enterprise-class application development, and they should have a good grasp of industry trends. Adobe Authorized Training Partners have been thoroughly trained and certified by Adobe. Courses should include hands-on tasks as well as real-world scenarios.
The Adobe website contains a search engine that helps people to find Authorized Training Partners based on their geographic location. Adobe developers can also earn certifications that go along with their training courses. An Adobe Certified Expert (ACE) for Developers credential may help to make job searches easier or may help a developer to command a higher salary. To earn ACE certification in Flex, developers have to complete a training course and pass a Flex exam.
The Future of Adobe
For now, Adobe is focusing its energy on creating touch programs for Android and iOS. Their new Photoshop Touch, for example, allows users to draw and to create on a screen. The program uses virtual paint brushes, x-acto knives, pencils and rulers but, instead of tying the tools to a mouse, it allows users to operate them by swiping their fingers across the screen. With Photoshop Touch, people can share their work directly from their tablet to their Facebook page. The application can also draw photos directly from the tablet to the editing screen.
Another visual application, Adobe Kuler, will allow users to take pictures with their phone or tablet and then adjust those pictures to different color schemes. Adobe Collage will allow users to create collages using photos saved on their tablet or by using photos from the web. Adobe Creative Cloud will allow users to save their creations on a cloud server so that they can be pushed to a variety of devices.
Flash will still continue to be developed for desktop gaming experience where high-quality graphics are a must. However, the company has accepted the inevitability of HTML 5 and will invest in becoming versatile with creating within that framework. For instance, developers speculate that they may be able to run ActionScript and Flex applications within an HTML5 framework. For well-rounded developers, Flex continues to have relevance.
The Future of Flex
Most experts anticipate that Flex will remain the go-to framework for enterprise applications for many years to come. Many argue that today’s leading Flex developers will also be the leading RIA developers of tomorrow no matter what the framework. Today’s developers have skills like design awareness, client-side architectures and mobile application, and those skills provide them with an in-depth understanding of the market. Even if the framework eventually changes to HTML5, Adobe plans to continue to play a role in the industry.
Combining an enjoyable user experience with efficient client architecture will never be easy. Adobe, for its part, is focusing on enterprise-level apps rather than customer-level apps to leverage a still viable area of growth. The market for rebranding and rebuilding enterprise-level apps constructed for Web 1.0 as well as for client server technologies still provides plenty of uses for Flex. The growth of tablets will necessitate the development of user-oriented architectures, and RIA has the ability to unlock ROI. Increased productivity for businesses, improved decision-making, and a superior learning curve that cuts down on employee training costs are all current and pressing needs that RIAs with Flex can answer.
Flex users should not forget the importance of the developer experience. As stated earlier, Flex was designed to be easy for developers to both conceptualize and use. The framework is still the most efficient and pleasurable coding experience on the market. Also, because development time with Flex is still so much faster than with HTML5, mission critical applications will still rely on the Flex framework. For many years to come, Adobe Flex 4 training will still be relevant for hundreds of thousands of developers.
The Bottom Line
Becoming adept at using Flex will provide developers with the tools they need to create top-notch applications today. The future of Flex will depend on the innovation of developers and on their ability to continue the framework’s evolution. Even though HTML5 may be the best language for development eventually, the Flex framework is still the fastest and most well-conceptualized way to get an application to market quickly.
Developers should still feel confident about touting the advantages of Flex. Even as they prepare for the future, developers need to be able to deliver for their customers today. A developer who doesn’t know Flex is at a major disadvantage and will be for many years to come. Adobe Flex training is still a wise and practical investment for today’s forward-looking developer.