Tuesday, October 20, 2009

How to Choose the Best Adobe Flex Book for You?

Do you struggle to find out which Adobe Flex book is best for you? You’re not alone. Considering there are so many books in the market, such as Flex Bible, Flex Cookbook, and Flex for Dummies, it is hard to make your mind. The bottom line is, you don’t want to buy a book only dusting on your bookcase later. So in this post, I like to share with you five ways to pick up a right Adobe Flex book.

1. What do You Want
Just like a good tool is to help you do a specific job, a good book is to help you resolve your problem. You want to get the comprehensive understanding of Adobe Flex? You want to know how to call Java programs in Flex? Or you want to find out the popular frameworks of Flex? Each book may focus on specific areas. So your first job is to know what you want. Then you try to match it by reading the table of contents of the book.

2. Publish Date
Due to the fast changes of computer technologies, most of programming books have a short life span. Generally speaking, any computer books older than two years are obsolete. Considering the writing process usually takes about six months, you’d better select a book published within a year. For example, it is now August 2009, the ideal Flex book should be published after August 2008.

3. Authors
This might be the most important factor. Since we are using the same Flex SDK from Adobe, why don’t you just stick to Adobe’s official documents? Why do you need an extra Flex book? Because you want to know the unique insight, experience, and tips from the experts in different areas. And you want to see how they use the Flex technology to resolve the real life problems. Therefore, who is the author and what kind of background he has are even more important than the topics. Moreover, I especially like the book written by a group of people. It is mainly because, first you get more in-depth knowledge from gurus specialized in various topics; second, you usually get better quality of contents through the team collaboration.

4. Customer Reviews
Amazon.com is the best place to find out the related information of a book before you buy it. Except for the publish date and authors, I would pay particular attention to customer reviews. Usually, the more reviews a book gets, the better it is. Because it indicates that more people are interested in this book and willing to spend time giving their feedback. Moreover, if you have any specific needs or questions, you might get some ideas how this book will help you by reading those reviews.

5. Add-on Resources and Support
A good Flex book might be your guide to a new world. You’ll not only learn from the book but also get more values from add-on resources and the support. For example, it often comes with a website for you to download sample codes, post your questions, and connect with the authors. Remember the computer technologies are constantly progressing. So you may want to catch up with the experts and get the latest update.

What is My Topic Pick for Adobe Flex Book?
If you just want to get one Best Flex Book, I would highly recommend Professional Adobe Flex 3.

Give you a comprehensive while in depth understanding of the complete Adobe Flex landscape including: What is Flex, Why Flex, Flex Development Ecosystem, Components Usage and Customization, Data Management, Visual Effect & Multimedia, Client Communication, Server Integration, Data Service, Flex Framework, Development Strategies, Testing and Debugging.

Published on June 2, 2009 (the newest Flex book you can get now) by Wrox (famous for its Programmer to Programmer philosophy).
Written by a group of Flex gurus speciaized in various fields. e.g. Joseph Balderson (Seniro Flex and Flash Platform Consultant), Peter Ent (Computer Scientist in Adobe LiveCycle team), Tom Sugden (Technical Architect for Adobe Professional Services), Andrew Trice (Principal Flex and AIR Architect), and David Hassoun (Founder of RealEyes Media).

Great additional resources and support on wrox.com including sample codes, online library, latest update, and interaction with community members.
My only complaint about this book is its weight. With 1,426 pages, it weighs about 2kg. So it would be a good exercise for your wrist. Nevertheless, this book gives you the best ROI on both your time and money. You can Get Professional Adobe Flex 3 here.

7 Difference Between RIA and Traditional Web Application

Since coined by Macromedia in 2002, RIA (Rich Internet Application) has become one of the hottest terms online. However, what is RIA? Not all people have a clear answer. Many times, when someone says RIA, he actually means Flash, AJAX, or Web Video. A typical example is, some companies put “X years RIA experience” in their job requirements, while they actually want someone good at HTML.

So, what is RIA any way? It is a set of characteristics rather than a specific framework. To understand this, let’s look at 7 Difference Between RIA and Traditional Web Application:

1. Rich Assets

This is the fundamental difference. A traditional website is mainly made up of Text (plus a few pictures). No matter what kind of site it is (blog, forum, or e-commerce), No matter what technology it uses (Static HTML, Java, or .NET), it is Text-Based.

RIA has more assets to deal with, such as Audio, Graphic, Video, State, Transition, and Effect. It is Interaction-Based.

2. Rich Experience

The richness of RIA means rich user experience. It is kind of paradigm shift from what we can provide more to how we can help users get more.

Thanks to the rich assets and their interaction-based design model, a well-built RIA often creates a WOW Experience for its users.

3. Rich Functionality

Powered by the latest web technologies such as Adobe Flex/Flash, AJAX, or Microsoft SilverLight, A RIA can provide functions way beyond traditional web pages. Just look at PhotoShop Express or Google Docs, you will see they act more like a desktop application. This is unbelievable in the past.

4. Rich Client

A traditional web application often puts heavy workload on the server side. Regardless of its development platform (Java, .Net, or PHP), the server has to maintain the user session, process the request, and render the results. The client side is merely a browser to display the final page.

On the contrary, RIA leverages the growing power of client machine. It installs a runtime (such as browser plug-in) on the client side, and executes most of functions locally.

5. Rich Communication

The traditional way to operate a web application is like:

Click a button => Wait for the result page showing => Click another button

Whenever users ask for something, the browser has to send a HTTP request to the server, wait for the response back from the server, and refresh the page. This synchronous communication method inevitably creates negative impact on usability.

While RIA normally uses Asynchronous communication method. It allows the application to get the data from the server without the page reload. It makes the application faster and more user-friendly.

6. Poor Security

While we enjoy the richness of RIA, it brings more security concerns than a traditional web application. The main reason is RIA is running on the client side. It tends to have more security flaws. Fortunately, the major RIA framework, like Adobe Flex/Flash, has realized this issue for long time. It applies restricted security protocol and provides security patches as fast as possible.

7. Poor SEO

This is another big challenge faced by RIA. Today’s major search engines are still Text-Driven. They have difficulty to fully index the content inside compiled file, such as Adobe Flash File (.swf).

On the other hand, because RIA is running independently on its own browser plug-in, it is hard for the browse to capture the application state. For example, the URL keeps the same regardless of content changes. This causes problems with Bookmark, Page History, Back Button, and Search Engine Index.

Of course, the major RIA vendors are well aware of this challenge. For example, Adobe actively cooperates with Google and Yahoo to improve the search results. It also provides Deep Link capability to support URL based navigation in the browser.

In Conclusion

Like Web 2.0, RIA provides a new way to think, design, and build the next generation Internet application. Compared to a traditional web applicaiton, RIA is richer in terms of Assets, Experience, Functionality, Client, and Communication, while it faces some challenges in the areas of Security and Search Engine Optimization.

Wednesday, October 14, 2009


Flex overview

Flex is a free, open source framework for building highly interactive, expressive web applications that deploy consistently on all major browsers, desktops, and operating systems. It provides a modern, standards-based language and programming model that supports common design patterns. MXML, a declarative XML-based language, is used to describe UI layout and behaviors, and ActionScript™ 3, a powerful object-oriented programming language, is used to create client logic. Flex also includes a rich component library with more than 100 proven, extensible UI components for creating rich Internet applications (RIAs), as well as an interactive Flex application debugger.

RIAs created with Flex can run in the browser using Adobe Flash® Player software or on the desktop on Adobe AIR™, the cross-operating system runtime. This enables Flex applications to run consistently across all major browsers and on the desktop. And using AIR, Flex applications can now access local data and system resources on the desktop. Both Flash Player and Adobe AIR are available as a free download on Adobe.com.

You can accelerate application development with Adobe Flex® Builder™ 3 software, a highly productive, Eclipse™ based development environment, and AdobeLive Cycle® Data Services software, a set of advanced data services that can be used in Flex development. Both of these products are available for purchase.

Flex Builder 3
Try Flex Builder 3