130 likes | 234 Views
Do We Really Need Rich-Interface Technologies?. Yifan Zhang yz2365@columbia.edu. Two assumptions. 1. RIA (Rich Interface Application): a web application that has many of the characteristics of desktop application, typically delivered by way of a site-specific browser.
E N D
Do We Really Need Rich-Interface Technologies? Yifan Zhang yz2365@columbia.edu
Two assumptions • 1. RIA (Rich Interface Application): a web application that has many of the characteristics of desktop application, typically delivered by way of a site-specific browser • 2. RIA technologies with multimedia feature, such as Flex, Java and Silverlight :They involve lots of user interface designs and complex video, audio and dynamic graphics applications • Actually, RIA technologies include AJAX and RIA technologies with multimedia feature.
RIA is needed RIA downloads the whole application at once instead of repeatedly transmitting web pages. As a result, user can expect to accomplish things by getting data downloaded before, which saves the time of surfing across multiple pages. This is the major advantage of RIA
Case studies: Gmail vsCubmail When we click a message in Cubmail, we must wait about one second for the server to respond, while it takes no time in Gmail when we perform the same operation, just like opening a folder in a local PC. The reason why it acts like this is because Gmail uses RIA technology while Cubmail uses the traditional thin client technology Figure 1: Gmail VS Cubmail
AJAX vs Flex AJAX is not a single new technology, but a combination of standard technologies including JavaScript, XML, XSLT and DOM which together achieve web application richness. When updating the web pages, the JavaScript program will enter the data into the new page without requesting data again from the server. This is because the data is already achieved from the server in the backend through XMLHttpRequest. Figure 2:AJAX Architecture [1]
AJAX vs Flex Flex is based on Flash and runs on Adobe Flash Player. Its basic framework is like this: 1. Compile source code written in MXML, ActionScript and Flex library and generate SWF files 2. Embed the SWF files from the first step into JSP files or HTML files 3. Deploy the JSP files or HTML files in the server 4. Use Flash Player to run the SWF files when browsing the pages. • Figure 3: Typical Flash-based RIA Architecture [1]
Advantage of AJAX It’s easy for rookies to learn AJAX and the popularizing rate of it is very high. There are many resources online. Many blogs and forums can lead to the way to master AJAX. This can be concluded from the amount of results when searching the key words of both technologies in Google (Table 1). Table 1: The amount of results of keyword of AJAX and Flex • From the table, we can see that the results of keywords relevant to AJAX (“AJAX”, JavaScript, HTML and TIBCO) are obviously much more than the keywords of Flex (“Flex”, “ActionScript”, “MXML” and “LAZLO”).
Disadvantage of AJAX The developer must maintain the consistency on different environment. Here is a simple example to determine the environment (not all the environment, just a few). Example: The way to determine the environment in JavaScript //create a Boolean variable and use it to indicate if the browser is IE varxmlreq = false;//check if the browser is IEtry {//if the version of JavaScript is larger than 5xmlreq = new ActiveXObject("Msxml2.XMLHTTP");} catch (e1) {// if no, use older version ActiveX object to check try {xmlreq = new ActiveXObject("Microsoft.XMLHTTP");} catch (e2) {// otherwise the browser is not IE xmlreq=false;}}}//if browser is not IEif(!xmlreq && typeofXMLHttpRequest!='undefined'){xmlreq=new XMLHttpRequest();} It can be concluded that it’s not easy to determine the environment of JavaScript, because the version of JavaScript and the type of Browser must be taken into account. It’s really inconvenient for a rookie to handle this.
Advantage and disadvantage of Flex Advantage: In general, from the aspect of multimedia, Flex performs better than AJAX. It supports vector diagram, HD, video and audio. For example, Immersive Media is the world leader and only end-to-end provider of 360°, full motion, and interactive video. Disadvantage: The object code of Flex is really large. The simplest application may cost hundreds of kilobytes
Conclusion for AJAX and Flex • If you want to implement Web Style UI (mostly plaint text), please use AJAX. and don’t even think a bit about Flex (which is an example of RIA technologies with multimedia feature). However, if you want to challenge the limits of UI which combines video, audio and dynamic graphics together, Flex can present magic results. Figure 4: Modification of angle in Immersive Media video
Conclusion In conclusion, the advantage of RIA (briefly speaking, requesting data in advance) has been proved in the past few years. Many companies have devoted to studying the implementation RIA (for example, Google Gear of Goolge and Silverlight of Microsoft). However, it doesn’t mean it is the beginning of disappearance of JavaScript, HTML and CSS. In fact, nowadays the most popular RIA technology is AJAX which exactly combines JavaScript, HTML, and CSS and so on together. It’s easy to learn (rich learning resource), easy to implement (small single web page) and easy to use (simple web applications). But RIA technologies with multimedia feature such as Flex leads the way in its own proficiency. We can use these technologies to change web pages into web or desktop applications. These technologies is worth exploring and advertising because of its own specialty.
Reference [1] Tom Noda, Shawn Helwig, Rich Internet Applications, www.uwebc.org/opinionpapers, November 16, 2005