| By David Wadhwani | Article Rating: |
|
| October 31, 2005 06:45 AM EST | Reads: |
17,765 |
Macromedia, led by Kevin Lynch (pictured) as chief software architect, coined the phrase "Rich Internet Application" (RIA) a few years ago after seeing what developers and designers were building in Macromedia Flash.
It was clear that these applications extended the design limitations and interaction constraints of traditional HTML applications. They didn't require a full-page refresh when users interacted with them. They efficiently utilized network bandwidth, transmitting only the portion of the data that changed and transmitting layout information sparingly. They contained a rich array of interactions that allowed end users to directly manipulate the data with which they were interacting. They seamlessly layered audio and video into the application's user interface. They clearly maintained their context as the user navigated through the application. And, of course, they supported high-fidelity printing.
The impact of RIAs has been incredible, both in breadth and depth. We're seeing everyone from Internet hobbyists to large enterprises building RIAs - and seeing their business improve dramatically as a result. Large financial services institutions use RIAs to solidify their brand with customers and speed up internal business decision-making through better interaction with mission-critical data. Online retailers have reduced shopping cart abandonment by 50% during the checkout process. Individual developers have integrated slick online mapping services with webcams posted on New York City's traffic lights to give commuters the most up-to-date and useful traffic information.
As customers began to broaden their use of RIAs, developers quickly recognized some special needs. Some RIAs need to consume real-time data feeds. Others need to run in occasionally connected environments, intelligently synchronizing data when a connection is established. Others need to consume proprietary binary protocols. Still others require that multiple clients share a single instance of data.
Pushing the Envelope on RIA Development
Based on these observations, and our experience building Flex 1.0, we set out to deliver an RIA platform that addressed these needs and could be extended easily to meet the specific needs of a given application. We wanted to give application developers a client runtime, development environment, class libraries, and data services that help developers do the following:
- Be extremely productive in RIA application development
- Create expressive applications with effective interface patterns
- Deploy applications through a well-distributed, high-performance, cross-platform, cross-browser runtime environment
- Use tools and technologies that scale with the size of the project and complexity of the task
If you're familiar with Flex 1.0, it's very important to recognize that Flex 2 is far more than just a new release. It represents a major milestone in the evolution of the Flex technology and a continued evolution in Macromedia development processes. From a technical standpoint, Flex 2 introduces capabilities that enable developers to build an entirely new class of Rich Internet Applications, ushering in a new generation of RIAs. At the same time, we're opening up Flex development to a much broader group of developers by re-introducing Flex Builder, which has been built from the ground up on the Eclipse open-source IDE framework and now includes Flex Framework and the compiler. That means that Flex applications can be deployed as a stand-alone option by placing a compiled SWF file on any web server or in conjunction with Flex Enterprise Services 2.
A New Foundation for Rich Internet Applications: Flash Player 8.5
Flash Player, the backbone of the Flash Platform, will also be evolving to provide the foundation for the Flex 2 product line and next-generation RIAs. Over the years the player, which began primarily as a client for playing animation, incrementally extended its scripting language (ActionScript) by adding support for portions of the ECMAScript standard (the same standard that drives the development of JavaScript). By the release of Flash Player 7, ActionScript implemented the vast majority of the ECMA standard. With Flash Player 8.5 (scheduled to ship with the Flex 2 product line), we will be introducing ActionScript 3.0, a powerful object-oriented programming language designed for productivity and performance and based on the next generation of the ECMAScript standard.
Flash Player 8, released in September of 2005, makes great advances in the rendering engine, introducing a set of extended expressiveness capabilities (filters, advanced gradient controls, rendering performance, and so forth), and video support enhancements (higher quality codec, alpha channel support, and so forth) that are unparalleled on the web today. Flash Player 8 also greatly improves the APIs that allow a developer to communicate between applications running in the player, the browser's HTML document object model, and associated JavaScript functions, making it easier for developers to add Flash components to their existing web applications.
Flash Player 8.5 builds on the advances in Flash Player 8 by focusing on improving script execution on the virtual machine. In fact, it includes a brand new, highly-optimized ActionScript Virtual Machine (AVM) known as AVM2. AVM2 is built from the ground up to work with the next generation of ActionScript 3.0 to support the needs of RIA developers. The new virtual machine is significantly faster, supports full runtime error reporting and industry-standard debugging. It includes binary socket support, allowing developers to extend the player to work with any binary protocol. Flash player 8.5 will also contain AVM1, which executes ActionScript 1.0 and 2.0 code, for backward-compatibility with existing and legacy content.
With ActionScript 3.0, we have achieved more than simple compliance with the ECMAScript standard; Macromedia now chairs the ECMAScript committee and helps drive its evolution. ActionScript 3.0 features a compilation mode for stronger compile-time type checking that provides the benefits of languages such as Java or C#. It supports new features to streamline data manipulation, including the E4X (ECMAScript for XML) standard, which extends the language and adds XML as a native data type allowing developers to more naturally interact with and manipulate XML. It adds regular expressions support for better text parsing and processing. It sheds some of the ad hoc event handling schemes in the old virtual machine in favor of a unified model based on the W3C DOM Events standard. And it has significantly updated APIs aimed at the application developer audience.
The Macromedia Flex 2 Product Line
The Flex product line gives application developers a powerful client runtime, programming model, development environment, and data services. It supports common design patterns, works with existing development and deployment technologies, and provides the benefits of a modern, standards-based language. The product line is comprised of the following distinct technologies:
- Macromedia Flex Framework 2
- Macromedia Flex Charting Components 2
- Macromedia Flex Builder 2
- Macromedia Flex Enterprise Services 2
Flex Framework 2 builds on the foundation provided by Flash Player 8.5 and ActionScript 3.0. It adds a rich class library based on ActionScript 3.0 that embodies best practices for building successful RIAs. It also extends the programming paradigm by adding an XML-based language called MXML that provides a declarative way to manage the visual elements of your application. Flex is packaged with a set of developer utilities such as a command-line compiler and debugger that enable developers to code in their favorite editors and invoke the compiler or debugger directly.
Essentially, Flex Framework provides the skeleton of the application. Developers can describe an application's user interface from prebuilt components by either extending them or creating new ones from scratch. They can enable predefined interactions, such as draggable columns on a data grid, or hook into some well-defined events to define specialized behaviors. They can choreograph complex user interface transitions using a flexible effects infrastructure. They can describe the flow of data through the application's user interface. And they can define the look and feel of the application through a powerful skinning and styling infrastructure.
Published October 31, 2005 Reads 17,765
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- Macromedia Announces New Eclipse-based Tool – Flex Builder 2
- Flash Player Is Revved to Version 8.5; Flex 2 Product Line Unveiled
- Macromedia's "Zorn" Becomes Flex Builder 2
- MAX 2005 – Macromedia Labs Launched: Access to Alpha Versions of Flex 2 and Flash Player 8.5
- Max 2005 – Flex 2 Announcement: Macromedia & Mercury Interactive Team Up
- Jeff Tapper's MXDJ Blog - Flex 2 Public Alpha Announced
- It's Time to Flex My Zorn: Flex 2.0 & Flex Builder 2
More Stories By David Wadhwani
David Wadhwani is the vice president of product development for Macromedia Flex. Prior to joining Macromedia in 2002 he was the founder and vice president of product development at iHarvest Corporation, where he led the development and deployment of a web-based knowledge management and collaboration system before selling it to Interwoven, Inc. He also spent approximately four years at Oracle in the early 1990s where he was part of the core team that conceived, designed, and implemented Oracle's first business analytics software package.
![]() |
Alberto moray 10/31/05 08:01:22 AM EST | |||
I've only just started looking at Flex but already I am moving my own goalposts: this is where the game is going to be from now on. Great work, Macromedia! |
||||
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Adobe Unveils LiveCycle Enterprise Suite 2 for Deployment in the Cloud
- Adobe Flex Developer Earns $100K in New York City
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Ph.D. in Twitter Anyone?
- Eolas Sues the Internet
- Adobe LiveCycle Enterprise Suite 2 for Cloud Computing
- Adobe Betas Target RIAs and Cloud Computing
- Special Report on the Emerging Cloud Computing Trend
- Adobe Cans Another 9% of its Workforce
- My Thoughts on Ulitzer
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Ulitzer Live! New Media Conference & Expo
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Eval JavaScript in a Global Context
- Fig Leaf Software to Exhibit at Government IT Conference & Expo
- Cloud Executives Feature on Cloud Computing Expo Power Panel
- Software Flexibility in the Cloud - Part 4 of 5
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Is Microsoft as Free as Open Source?
- Adobe Reader Sued
- Adobe Unveils LiveCycle Enterprise Suite 2 for Deployment in the Cloud
- Where Are RIA Technologies Headed in 2008?
- Cover Story: How to Increase the Frame Rates of Your Flash Movies
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Your First Adobe Flex Application with a ColdFusion Backend
- Adobe Flex 2: Advanced DataGrid
- i-Technology Blog: Death-Knell For "Rich Media? Hardly!
- Adobe/Macromedia - Microsoft, Look Out!
- How To Create a Photo Slide Show ...
- Adobe Flex Interface Customization - Themes, Styles, Skins
- Personal Branding Checklist
- Has the Technology Bounceback Begun?
- "Real-World Flex" by Adobe's Christophe Coenraets





































