5 Reasons why you should code in Apache Flex & AIR
As explained on Apache Flex product page, Apache Flex® formerly known as Adobe Flex, is a highly productive, open source application framework for building and maintaining expressive web applications that deploy consistently on all major browsers, desktops and devices (including Smartphone, tablets and tv).
It provides a modern, standards-based language and programming model that supports common design patterns suitable for developers from many backgrounds. Flex applications can be deployed to the ubiquitous Adobe® Flash® Player in the browser, Adobe® AIR™ on desktop and mobile or to native Android™, IOS™, QNX®, Windows® or Mac® applications.
1. Its Fun and powerful :-)
It is Fun, because you have tools available around. It is organized with many popular frameworks empowering Flex development. Frameworks like Parsley, Cairngorm, pureMVC and Robotlegs have made our live easy. Flex based applications are developed in a complete distributed nature and multiple remote team can work seamlessly on it.
2. Flex is simple and Robust
Flex is simple, flex is Flexible. Yes it is. In Flex Button is a Button, Label is a label, Form is a Form, Canvas is a canvas. Flex adheres to standard coding paradigm and is similar to any standard OOPS technology. A java person can read Flex code and understand almost 70-80% code without knowing even a single syntax of ActionScript. Learning curve for Flex is very less, one can get going in serious coding in mere a week. There are products which are ported in extremely short amount of dev time because of its simplicity.
However the simplicity cannot be taken as it is not extensible and powerful. Flex is robust and strong framework. It is well thought and researched product. It has been matured with time and the result is overwhelming. The Flex product line provides a highly productive programming model (Flex framework), integrated Eclipse-based development tools (Flex Builder TM), and robust data integration services (Flex Data Services) that enable organizations to rapidly deliver solutions that dramatically improve user productivity and increase online revenues, while integrating with existing applications and websites.
3. Open Source and Community support
When I was coding in early 2000 I use to think why should I bother about it, I can code without an open source technology. I have an auto complete and code hint enabled IDE. I know many of us still think the same and see no benefit in Open Source technology and Community support. Yes, true to some extent, but consider a situation, you are working on an aggressive deadline, you get stuck and need immediate solution. What if you need help in some quick debugging and want to explore the other options. An open source technology with huge community support could be a demand of time. A technology which are frequently explored by millions of developer is rapidly growing and always upto date with the current growth. which is why, Flex is a front runner in a true cross platform technology, which not only runs on 99% Desktops, it also provides an easy deployment to standard mobile platform and Smart TVs.
Flex is an Open source SDK born at Adobe and matured at Adobe and later donated to Apache for further upbringing. Apache Flex is one of the most active project of Apache incubation and On 12/19/2012 the Apache Software Foundation Board has voted this project in as a TLP (Top-Level Project). Apache Flex will now be known as the Apache Flex project. Apache Flex Project is committed to a community-driven open source project to ensure the continued development and success of Flex for years to come.
Flex and other related technology products are backed by strong community of enthusiastic developer groups. There are more than 5000+ active user groups on Flex and almost a million developers working on this. Finding an expert Flex developer is easy than other technology in the same space, even though they are there since long. Resources and How-to are as easy to find as you are browsing your own desktop by using Tour da Flex application which itself written in Adobe AIR (Desktop version of Flex).
4. Extremely Rich Product Line and rich backend support & 3rd Party support
Adobe Flex product line have many proprietary products developed and marketed by Adobe and other vendors. Flex product line comprise of almost every tool which is required for making an enterprise application. Be it a robust multiplatform Application SDK, IDE, Profiler or Data Service middleware.
Products which are very commonly used in Flex development are,
- Flex Software Development Kit (SDK)—The core component library, development languages, and compiler for Flex applications
- Flash Builder IDE—An Eclipse-based development environment that includes code editors, visual layout tools, project management tools, and an integrated debugger
- Flex Data Services—A Java server-based application that enables high-performance data transfer, cross-tier data synchronization and conflict management, and real-time data messaging
- Flex Charting—A library of extensible charting components that enables rapid construction of data visualization applications
One thing I love when coding with Flex, I never bother about what is there in backend. I know for any technology there is an interface available. Flex blends seamlessly with any other technology, be it Java, PHP, Ruby on Rails and many.
It also integrates with other sites and open technologies such as SOAP, REST and Json. XML being a native data type in ActionScript, it offers hassle free binding of XML data, thus reducing parsing overload and cleaner code. I don't see any other technology doing this so easily.
Flex technology is embraced by the industry pretty well and with time, we have a wide array of Rich 3rd party tools and libraries available to make our lives easy.
- Away3d, PaperVision3d, Unity are robust gaming libraries developed on flex
- GraniteDS, lightstreamer, webORB are rich server solutions for enterprises
- FlexLib, fusionCharts, RaVis explorer for rich user interface development
The list can go on and on, as we have more than 1000 tools developed around Flash/Flex ecosystem to make things easy to code.
5. Ahead of all competitions and backed by all vendors
Flex is versatile and fits in every requirement. A website full of interactivity can be developed using Flex. A desktop application with online/offline support with integrated database can be development in AIR and that can also be ported on all major Mobile Platforms including iOS and Android. You may do a TV programming making cool and awesome applications using this.
But this versatile nature of Flex technology could have been a limited if it is not supported by other industry leaders. Flash Platform as commonly called for Flex, AIR and Flash, is supported and promoted by all major technology driving the global growth.
Applications delivered with Flex offer a better experience because they take advantage of the browser and Flash Player runtime. Installed on over 97% of Internet-connected PCs, Flash Player provides a consistent, cross-platform runtime that combines a high-performance virtual machine with integrated support for multilingual text display, printing, data manipulation, motion, and multimedia. On top of these capabilities, the Flex framework layers a rich set of user interface components and design principles that encapsulate best practices in interaction design and usability.
For me, coding in Flex is true Cross Platform Development as I am extremely neutral of where it is to be deployed. I can write Mobile code for iOS and at the same time can test it on Android and Blackberry. With slight environment change I can deploy it on all mobiles. Resolution handling is a cake walk using Manifest files and configurations.
And you thought I will say HTML 5 is taking over :-)
Adobe Flex is the dominant framework for professional Application development for Web and Mobile.
- We saw how Flex is simple, fun and robust..
- We found what are the products and vendor support for Flex applications. It is anywhere and everywhere.
- We can develop Flex applications and run it anywhere because of its cross platform nature.
If you’re looking for a robust, well-maintained framework for any sized project, I strongly recommend that you take a look at Apache Flex. It can be downloaded for free at Apache Flex incubation page.
So, what is your view? Please share your thoughts with us. And don’t forget to share this article if you liked it. You should also get connected with us on Twitter and “Like” PlanetRIA's Facebook page to receive updates on latest happenings around User Experience Space.