29 May, 2008
Starting off with RIA
Posted by Bhavin Turakhia
As one of the many companies working with RIA, I would like to share some of our processes we have begun using in percolating RIA within our organization -
Select a RIA technology
There are severalĀ RIA technologies available to choose from. On the web you have Ajax/Flex/Silverlight. For the desktop you have AIR/WPF (though it is kind of a misnomer to classify AIR/WPF as Rich Internet Applications)
Given that Silverlight is just taking its first breath, and that the Silverlight player is not currently available on a large number of Desktops, I would currently recommend Ajax/Flex for a web app. Between the two there are various pros and cons. Flex has an advantage of being ubiquitously standardized, so you will not require to bother with browser compatibility issues in your Flex App. On the other hand there are various readymade toolkits available for Ajax/Javascript that abstract browser compatibility issues and provide a plethora of ready made components.
Standardize on an Ajax Toolkit
For Javascript/Ajax try and use existing libraries and toolkits rather than reinventing the wheel. jQuery and YUI look to be the most promising. Both toolkits offer rich and dynamic controls. Currently jQuery seems to be more popular. It is a good to standardize on one and we are currently leaning towards jQuery within Directi. For a detailed comparison check the bookmark I posted on our Wiki - Comparision of jQuery, YUI, Scriptaculous + Prototype, Mochikit and Dojo. jQuery also has a number of interesting books available.
Be prepared to change the way you think
Conventional HTTP applications have always been request-response-pagerefresh based, to the extent that as developers our thinking patterns are molded by the request-response-pagerefresh cycle. RIA turns this approach on its head, not very dissimilar from the event-driven programming models that existed in the desktop apps world.
If you wish to successfully build rich applications, be ready to shed your older conventions and notions and begin thinking in a different manner.
Encourage Self-Learning within the team
A few weeks ago I wrote an article on what I call the Flexi-Learning model that lists a few of the strategies that we have been adopting within Directi as a part of our training and knowledge sharing processes. Pursuant to that I have added a list of RIA books within our wiki on the Software Engineering Textbooks page. Use similar strategies within your respective teams to percolate information.
Browse as many examples as you can
The biggest hurdle with RIA adoption as I see it is that UI possibilities increase significantly. Given the myriad possibilities for representing a workflow within the browser canvas, the biggest challenge is to be able to come up with a creative way to provide a rich user experience. To me the first step is to figure out the various possibilities. While reading books can give you some guidance - another important step is to view as many examples as you can find. The jQuery website, Flex.org, Silverlight website, YUI website and other such websites have several sample applications, walkthroughs and demos that will not only serve as great catalysts for ideation, but also entertain you, blow your mind, excite you and encourage you to participate


Just a suggestion. Consider Curl for enterprise RIA. Curl is not as common on the desktop as Flash, but that’s not really important in enterprise class applications. What’s important in enterprise class applications is security, performance, scalability and Curl beats everything out there hands-down in those categories. Curl is also both a browser RIA and desktop RIA technology. Check it out http://www.curl.com. One more thing: Curl is the most successful enterprise RIA solution with hundreds of huge companies a clients and about 10 years of product involvement.
All the best,
Richard Monson-Haefel
VP of Developer Relations
Curl, Inc.
Cool, ur one extremely technical CEO!
cheers…. “ria” means “happy/joyful” in Malay/Indonesia..
Dear Bhavin
I need your tips in the following
At present I have a very simple agend ( to be completed in time for next month’s project presentation.
I have built two Education information resources on the web
1. http://eudusense.googlepages.com
2. http://uptriever.googlepages.com
Task 1:
I want to develop a Flex application that connects me to these (above) sources and fetches data from them.
Task 2
Dispaly that data selectively
Kindly suggest me some sample applications so that I can study them
Ravindra Dastikop
Assistant Professor, Department of Computer Science and Engineering
SDM College of Engineering and Technology
Dharwad 580 002 India
Contact:
Phone: 91-836-2447465 Extension: 126
Email: ravindra.dastikop@gmail.com
Web Presence:
http://docs.google.com/Doc?id=ddqtts2d_2fw6cv4
I have built two Education information resources on the web
1. http://eudusense.googlepages.com
2. http://uptriever.googlepages.com
Task 1:
I want to develop a Flex application that connects me to these (above) sources and fetches data from them.
Task 2
Dispaly that data selectively
Kindly suggest me some sample/exmple so that I can study to determine my application
Ravindra Dastikop
Assistant Professor, Department of Computer Science and Engineering
SDM College of Engineering and Technology
Dharwad 580 002 India
Contact:
Phone: 91-836-2447465 Extension: 126
Email: ravindra.dastikop@gmail.com
Web Presence:
http://docs.google.com/Doc?id=ddqtts2d_2fw6cv4