JavaScript libraries, ICEfaces, Adobe's Flash, Microsoft Silverlight, and now HTML5, the global competition for network dominance has entered a new era - a rich Internet application (RIA for short, also called rich Internet application in Chinese) era.
The purpose of this article is to define what RIA is, explain why the web has begun to move closer to RIA, explore the different RIA frameworks that exist today, provide an overview of some of the pros and cons of each framework, and discuss what these new technologies will look like in the future. Survival state.
What is an RIA?
The so-called RIA, or rich network application, refers to a network application that can operate like a desktop program. Before RIAs emerged, most web applications were built with static pages.
Sumo Paint is a Flash-based RIA with graphics editing capabilities like Photoshop.
Unlike desktop applications, any interaction with a web page often requires reloading a completely new page. Desktop applications, on the other hand, have a lot better user interactivity because all processing happens on the user's machine itself, giving a more seamless user experience.
As a result, software developers began to ask themselves, "Should our product be a desktop application or a web application?"
This is always a fair question, as both types of apps have their own pros and cons.
Desktop applications have smooth user interaction, but software is sold and suffers from release and update issues.
Web applications, on the other hand, are easily available online, free from the problems associated with software releases and updates, but have a very poor user interactivity experience.
So, how can you get the best of both worlds?
RIA is the best of both worlds. RIA is released through the Internet and has very rich user interactions. Thanks to the emergence of Ajax, a method for web applications to send server requests without refreshing, new technologies emerged to join the RIA movement.
Based on these technologies, several frameworks have emerged to help developers build and deploy rich web applications, such as JavaScript libraries, ICEfaces, Adobe Flash 4 (the predecessor of Flex 3), Microsoft Silverlight, and HTML5.
Let us discuss the RIA framework one by one.
JavaScript library for web applications
JavaScript libraries such as jQuery and MooTools are among the first technologies that can truly help deploy smooth and interactive rich web applications. They provide an RIA framework that handles front-end interface functionality by leveraging client-side scripting. They are basic Javascript files integrated with some useful, cross-browser tested functionality. You can use Ajax, as well as handle common user-driven event-based interactions, such as showing and hiding content.
The most popular ones currently are jQuery (especially using jQuery UI), MooTools, YIU (Yahoo User Interface Library), and EXTJS. These libraries include RIA components such as grids, charts, and complex form elements, as well as tools for handling Ajax. The most fascinating thing is that most of the JavaScript libraries for web development are open source.
If you don't want to buy an integrated development environment (IDE), but still want gorgeous and professional RIA functionality on your website, JavaScript libraries are a great choice.
Websites that use JavaScript libraries include Google, Digg, Yahoo, Amazon, Microsoft, Twitter, and Best Buy.
ICEfaces
ICEfaces is an extension to the standard JavaServer Faces (JSF) framework designed to simplify the programmer's workflow by removing JavaScript from the equation. In other words, ICEfaces handles all the JavaScript/Ajax for you through the Java Application Interface. By removing the complex introduction of these custom JavaScript functions, the task of creating rich web applications is greatly simplified.
If the majority of your team is Java developers, or if your web application does not require complex components that other ICEfaces do not have, or if your web application is event-driven, then using ICEfaces is a good choice. If your web application is event-driven, make sure you understand that ICEfaces does not provide true "server push" technology, which is supported by HTML5, Flash Builder 4 and Silverlight. However, correspondingly, ICEfaces uses long polling method to simulate server push technology.
Sites using ICEfaces include Boeing, NASA, Union Pacific, T-Mobile, and Bank of America.
Adobe Flash Builder 4
Flash has been around for a long time, but building entire web applications using Flash was cumbersome until the introduction of Flex, an extension to Flash that provides RIA web components.
The most exciting thing about Adobe Flash Builder 4 is its cross-platform and cross-browser features, allowing the program to run the same way on all operating systems and all browsers. Compared to JavaScript, where browsers have different JavaScript engines that manage and process code, Adobe's Flash has only one engine, which users install through the Adobe Flash browser plug-in (which is usually what they have).
Flash Builder 4 applications can do this because they are embedded in the HTML page, which means the browser itself has no impact on application performance. This means you can run even the most complex web applications on IE6 if you choose. (This is of course simple, as the Flash plug-in/engine is updated frequently and is therefore only slightly dependent on the version of the user's plug-in).
These applications are usually accompanied by server-side processing, such as a Java back-end processing, and require Flash Builder 4 IDE for development.
If your team develops primarily in Java (because it works well with Java), or if your application uses an event-driven architecture, you can choose Adobe Flash Builder 4.
Websites that use Flash as a web application include Mint.com, Flickr, and Hyundai.
Silverlight
Silverlight is basically Microsoft's version of Adobe Flex/Adobe Flash. It has gained some traction, but doesn't seem to have reached the level of popularity that Adobe Flash has.
Silverlight applications are obviously tied to the .NET backend because it is a Microsoft product. This means that you have to think about integration between Silverlight/.NET and Adobe Flex/[some server-side scripting like PHP].
If your web application requires complex graphics, or if your team is primarily .NET developers, or if your application uses an event-driven architecture, then you can choose Silverlight.
Websites that use Silverlight, such as Netflix.
HTML5
HTML5 is the latest development in the RIA movement. HTML5 is essentially the best-of-breed merging of HTML4, JavaScript, CSS, Javascript code libraries, and Falsh, leveraging the API model into a single specification. HTML5 is an open technology, which means there won't be a single governing body like Flash for Adobe or Silverlight for Microsoft.
Since the HTML5 specification has not yet been completed and IE9 has not yet been released, you still need to wait a little longer to build production-level web applications.
Currently, all major browsers except IE8 support HTML5. Since IE8 occupies a major part of the browser market, it is really difficult for HTML5 to become mainstream before the release of IE9.
Once HTML5 is widely supported, if you don't want to buy and learn an IDE (required for frameworks like Flex and Silverlight), if your application uses event-driven architecture, or if you prefer to use built-in HTML features and JavaScript API features instead Using a third-party JavaScript library, then using HTML is a good choice.
Although graphics are handled well in HTML5, using Flash and Silverlight to handle complex graphics and animations is still the easier/faster option at the moment.
Are HTML5 apps the future of the internet? Not exactly. As long as creative and innovative web developers continue to create something special, there will always be new technologies emerging that can do amazing things that HTML5 or any other web technology can't do.
JavaScript libraries, ICEfaces, Flash, Silverlight and HTML5 exist first and foremost for their creativity and innovation. Future networks will be made up of many coexisting technologies, just like they are now.
Source: sixrevisions.com
Compiled by: MazingTech
Thanks to MazingTech for your contribution