Rich Internet Application (RIA) Framework
Have you ever wondered how to make your websites much cooler and richer? Have you ever thought if Internet applications could run just like your local desktop applications? Just imagine, inside a regular web browser, you could design your living room, drag and drop your new home theater system, and find best dealers on Google Map right away. Nowadays, web technologies are far beyond just a simple HTML page. So called Rich Internet Application, or RIA, has been adopted by more and more companies.
How can you build a Rich Internet Application (RIA) too? You need a RIA Framework, which is a collection of technologies and tools. In today’s market, the top 3 most popular RIA frameworks are:
- Adobe Flex/Flash
- Microsoft Silverlight
The question is: what RIA Framework is the best? It depends… …
It’s just like the question, what development language is the best, Java, PHP, or .Net? It depends… …
The bottom line is: they all do their jobs – they are all approved to be the good solutions to Rich Internet Application in the real world. Depending on your system environments and/or business requirements, you will choose one or another.
- Adobe Flex/Flash is a cross-platform (Windows, Mac, Linux, or Mobile) solution as long as your machine has Flash Player installed. It is widely used by designers to create highly animated and interactive websites. The biggest complaint is the size of its compiled file (.swf) . It is usually over 1M and takes a while to download.
- SilverLight is the Microsoft’s solution to compete in the RIA market. It is relatively new and not many companies use it so far. It will be interesting to see how Microsoft to promote SilverLight (Microsoft’s wild card – bundled with Windows operation system and Internet Browser, I guess).
Adobe Flex vs. Adobe Flash
You might not be familiar with Adobe Flex, however, you probably already heard of Adobe Flash. It is such a successful RIA platform which installed by over 98% web users. Almost all big corporations (like Sony, Samsung, BMW, etc.) use Flash to add animation and interactions to the web pages, especially for the advertisement and marketing sites.
Even though Flash is so popular, it constantly faces one big challenge. It is a product mainly designed for Designers. Its interface is more like a video editing tool! As a developer, I never get comfortable with it. What I want to see is a nice code view and stuff behind numerous movie frames. But Adobe Flash is not designed for this purpose.
The reality is, with today’s complex Rich Internet application, you probably always need some programming, from simply parse a XML file to integrate with backend ERP system. As a result, it often requires at least 1 designer and 1 developer to work on a project. However, due to the unfamiliar working model and flow of Adobe Flash, developers often have a hard time to cooperate with designers on RIA applications.
So what is the solution? Adobe Flex.
What is Adobe Flex
Adobe Flex allows you to create highly animated and interactive Flash movies from a developer point of view. No movie timeline, no key frame, just nice code and design view. Flex programs will be compiled into the binary code with the same file format (.swf) as Flash. Finally, developers are equipped well to fight in the RIA world.
Unlike Java or PHP, Adobe Flex is not just a programming language. It is a collection of web technologies, tools, and runtime environment for Rich Internet Application. It includes:
- Flex SDK and Add-on Components
- Flex Builder
- Server Side Integration Service
- Adobe Flash Player Runtime and Adobe’s Integrated Runtime (AIR)
Flex Software Development Kit (SDK) is now an open source framework and can be downloaded for free. It includes the Flex component class library and Flex compiler. You may manually install it into your IDE (e.g. Eclipse). The add-on components include the Chart and Graphic support.
A professional Eclipse based developer tool enabling intelligent coding, interactive step-through debugging, and visual design of the user interface and behavior for Flex applications. Includes support for building desktop applications with Adobe AIR. There are two versions of Flex Builder: Standard and Professional (with Add-on Components support).
Adobe Flash Player Runtime and Adobe’s Integrated Runtime (AIR)
Flash player is a browse plug-in to run the compiled Flash and Flex applications. Adobe’s Integrated Runtime (AIR) is a desktop-based runtime to run Flash and Flex applications outside browser even without network connection.
Server Side Integration Service
It enables Adobe Flex to seamless integrate into your existing backend system (can be based on Java, PHP, or .Net) and exchange data. The enterprise version is called LiveCycle Data Services, and the community version is called BlazeDS.