Jump to content

Rich Internet Application: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
remove deleted article
GreenC bot (talk | contribs)
 
Line 1: Line 1:
{{Short description|Web application technology}}
{{mergefrom|List of Rich Internet Applications}}
{{About|legacy technology no longer used by modern browsers|its modern equivalent|Progressive web application}}
'''Rich Internet Applications''' (RIA) are a cross between [[web application]]s and traditional desktop applications, transferring some of the processing to a web client and keeping the processing on the application server.


A '''Rich Internet Application''' (also known as a '''rich web application''',<ref name="flex3dummies">{{cite book |last=McCune |first=Doug |url=https://books.google.com/books?id=lazbXwrxrasC |title=Adobe Flex 3.0 For Dummies |date=2009-02-23 |publisher=John Wiley & Sons |isbn=978-0470436820 |page=Chapter 1, "From HTML to RIA"}}</ref> '''RIA''' or '''installable Internet application''') is a [[web application]] that has many of the characteristics of desktop [[application software]]. The concept is closely related to a [[single-page application]], and may allow the user interactive features such as [[drag and drop]], background menu, [[WYSIWYG]] editing, etc. The concept was first introduced in 2002 by [[Macromedia]] to describe Macromedia Flash MX product (which later became [[Adobe Flash]]).<ref name=":0">[http://download.macromedia.com/pub/flash/whitepapers/richclient.pdf Macromedia Flash MX—A next-generation rich client]</ref> Throughout the 2000s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies including [[Java applet|Java applets]], [[Microsoft Silverlight]].
RIA's typically:
*run in a [[web browser]], or do not require [[Installation (computer programs)|software installation]]
*run locally in a secure environment called a [[Sandbox (computer security) | ''sandbox'']]
*can be "occasionally connected" wandering in and out of hot-spots or from office to office


With the [[Deprecation#Software|deprecation]] of browser [[Plug-in (computing)|plugin]] interfaces and transition to standard [[HTML5]] technologies, Rich Internet Applications were replaced with JavaScript [[Web application|web applications]], including [[Single-page application|single-page applications]] and [[Progressive web application|progressive web applications]].
The term "Rich Internet Application" was introduced in a [[Macromedia]] whitepaper in [[March 2002]], though the concept had been around for a number of years before that under different names such as:


==History==
* [[Remote Scripting]], by [[Microsoft]], circa [[1998]]
The terms "Rich Internet Application" and "rich client" were introduced in a [[white paper]] of March 2002 by [[Macromedia]] (now [[Adobe Inc.|Adobe]]),<ref name=":0" /> though the concept had existed for a number of years earlier under names including: "[[remote scripting|Remote Scripting]]" by [[Microsoft]] in April 1999<ref>{{cite web|last=Clinick|first=Andrew|date=1999-04-12|title=Remote Scripting|url=https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/scripting-articles/ms974566(v=msdn.10)|access-date=2019-07-10|website=[[Microsoft Docs]]|df=dmy}}</ref> and the "X Internet" by [[Forrester Research]] in October 2000.<ref>{{cite web|last=Colony|first=George F.|date=October 2000|title=My View: X Internet|url=http://www.forrester.com/ER/Marketing/0,1503,214,00.html|archive-url=https://web.archive.org/web/20080518194414/http://www.forrester.com/ER/Marketing/0,1503,214,00.html|archive-date=2008-05-18|website=[[Forrester Research]]|df=dmy}}</ref>
* X Internet, by [http://www.forrester.com Forrester Research] in [[October 2000]]
* Webtop, coined by [[Hummingbird Ltd]] for their DM WebServer product in [[February 2002]],
* Rich (Web) Clients,
* Rich Web Application


In November 2011, there were a number of announcements that demonstrated a decline in demand for Rich Internet Application architectures based on browser plug-ins in order to favor [[HTML5]] alternatives. Adobe announced that Flash would no longer be produced for mobile<ref>{{cite web|title=Adobe Flash Player Turfed for Mobile Devices|url=http://www.theinfoboom.com/articles/adobe-flash-player-turfed-for-mobile-devices/|access-date=11 November 2011}}</ref> or TV<ref>{{cite web|title=Adobe Scrapping Flash for TV, Too|url=http://allthingsd.com/20111110/adobe-scrapping-flash-for-tv-too%E2%80%8E/|access-date=11 November 2011}}</ref> (refocusing its efforts on [[Adobe AIR]]). Pundits questioned its continued relevance even on the desktop<ref>{{cite web|title=PlayBook has a Flash-filled future; RIM's worst decision to date?|url=https://www.zdnet.com/article/without-mobile-adobe-flash-is-irrelevant/}}</ref> and described it as "the beginning of the end".<ref>{{cite web|title=The beginning of the end for Adobe's Flash|url=https://money.cnn.com/2011/11/10/technology/adobe_flash/|access-date=11 November 2011}}</ref> [[BlackBerry (company)|Research In Motion]] (RIM) announced that it would continue to develop Flash for the [[BlackBerry PlayBook|PlayBook]], a decision questioned by some commentators.<ref>{{cite web|title=PlayBook has a Flash-filled future; RIM's worst decision to date?|url=https://www.zdnet.com/article/playbook-has-a-flash-filled-future-rims-worst-decision-to-date/|access-date=11 November 2011}}</ref> Rumors stated that Microsoft was to abandon Silverlight after the upcoming release of version 5 -- this would later turn out to be the case.<ref>{{cite web|title=Silverlight 5 - the end of the line|url=http://www.i-programmer.info/news/89-net/3314-silverlight-5-the-end-of-the-line.html|access-date=11 November 2011}}</ref><ref>{{Cite web |title=Silverlight End of Support - Microsoft Support |url=https://support.microsoft.com/en-us/windows/silverlight-end-of-support-0a3be3c7-bead-e203-2dfd-74f0a64f1788 |access-date=2023-04-01 |website=support.microsoft.com}}</ref> The combination of these announcements had some proclaiming it "the end of the line for browser plug-ins".<ref>{{cite web|title=Flash, Silverlight and the end of the line for browser plug-ins|url=http://www.geekwire.com/2011/adobe-flash-microsoft-silverlight-sunset-browser-plugin}}</ref>
==Comparison to standard web applications==
Traditional web applications centered all activity around a [[client-server]] architecture with a [[thin client]]. Under this system all processing is done on the server, and the client is only used to display static (in this case [[HTML]]) content. The biggest drawback with this system is that all interaction with the application must pass through the server, which requires data to be sent to the server, the server to respond, and the page to be reloaded on the client with the response. By using a client side technology which can execute instructions on the client's computer, RIAs circumvent this slow loop. This difference is somewhat analoguous to the difference between "[[computer terminal|terminal]] and [[mainframe]]" and [[Client-server]]/[[Fat client]] approaches.


=== Rich mobile applications ===
It should be noted that Internet standards have evolved slowly and continually over time to accommodate these techniques, so it is hard to draw a strict line between what constitutes an RIA and what does not. Usually what can be done in an RIA is limited by the capabilities of the system used on the client.
A '''rich mobile application''' (RMA) is a [[mobile application]] that inherits numerous properties from web applications and features several explicit properties, such as [[context awareness]] and ubiquity.<ref>{{Cite journal|last=Khan|first=Atta ur Rehman|last2=Othman|first2=Mazliza|last3=Khan|first3=Abdul Nasir|last4=Abid|first4=Shahbaz Akhtar|last5=Madani|first5=Sajjad Ahmad|date=2015-04-23|title=MobiByte: An Application Development Model for Mobile Cloud Computing|journal=Journal of Grid Computing|language=en|volume=13|issue=4|pages=605–628|doi=10.1007/s10723-015-9335-x|issn=1570-7873}}</ref><ref>{{Cite journal|last=Khan|first=A. u R.|last2=Othman|first2=M.|last3=Xia|first3=F.|last4=Khan|first4=A. N.|date=2015-05-01|title=Context-Aware Mobile Cloud Computing and Its Challenges|journal=IEEE Cloud Computing|volume=2|issue=3|pages=42–49|doi=10.1109/MCC.2015.62|issn=2325-6095}}</ref><ref name=":0" /> RMAs are "energy efficient, multi-tier, online mobile applications originated from the convergence of [[mobile cloud computing]], future web, and imminent communication technologies envisioning to deliver rich user experience via high functionality, immersive interaction, and crisp response in a secure wireless environment while enabling context-awareness, offline usability, portability, and data ubiquity".<ref name="RMA_article">{{cite journal|last1=Abolfazli|first1=Saeid|last2=Sanaei|first2=Zohreh|last3=Gani|first3=Abdullah|last4=Xia|first4=Feng|last5=Yang|first5=Laurence T.|date=1 September 2013|title=Rich Mobile Applications: Genesis, taxonomy, and open issues|journal=Journal of Network and Computer Applications|volume=40|pages=345–362|doi=10.1016/j.jnca.2013.09.009}}</ref>


====Benefits====
==== Origins of RMAs ====
After successful deployment of web applications to desktop computers and the increasing popularity of mobile devices, researchers brought these enhanced web application functionalities to the smartphone platform. [[NTT DoCoMo]] of Japan adopted [[Adobe Flash Lite]] in 2003 to enhance mobile applications' functionality. In 2008, Google brought [[Gears (software)|Google Gears]] to [[Windows Mobile]] 5 and 6 devices to support platform-neutral mobile applications in offline mode. Google Gears for mobile devices is a mobile browser extension for developing web applications enriched by a separate, user-installable add-on. These applications can be executed inside the mobile device with a web browser regardless of the architecture, operating system and technology. In April 2008, Microsoft introduced [[Microsoft Silverlight]] mobile to develop engaging, interactive UIs for mobile devices. Silverlight is a .NET plug-in compatible with several mobile browsers that runs the Silverlight-enabled mobile apps. [[Android (operating system)|Android]] accommodated the Google Gear plug-in in the Google Chrome Lite browser to improve the interaction experience of Android end-users.


==Technologies==
Because RIAs take advantage of the client's CPU, they offer real-time user-interface options that are not possible with the standard [[HTML]] widgets available to browser-based Web applications. This richer functionality may include anything that can be implemented in the system being used on the client side (see below), including "drag and drop," using a slider to change data, calculations that happen on the client (e.g., an insurance rate calculator) and do not need to be sent back to the server, etc. High interactivity of RIA applications (when compared to standard web applications) may approach that of [[fat client]]s.


===Adobe Flash===
There are also performance benefits:
{{Main article|Adobe Flash}}


Adobe Flash manipulates [[vector graphics|vector]] and [[raster graphics]] to provide animation of text, drawings, and still images. It supports bidirectional [[Streaming media|streaming]] of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an [[object-oriented language]] called [[ActionScript]] and supports automation via the JavaScript Flash language (JSFL). Flash content may be displayed on various computer systems and [[information appliance|devices]], using [[Adobe Flash Player]], which is available free of charge for common web browsers, some [[mobile phone]]s and a few other [[electronic device]]s (using [[Flash Lite]]).<ref>{{Cite book |last=McCune |first=Doug |url=https://books.google.com/books?id=lazbXwrxrasC |title=Adobe Flex 3.0 For Dummies |last2=Subramaniam |first2=Deepa |date=2009-02-23 |publisher=John Wiley & Sons |isbn=978-0-470-43682-0 |language=en}}</ref>
* The computing resources of both client and server are more balanced, so the server need not be the workhorse that it is with a web application. This frees server resources and allows the same hardware to handle more sessions concurrently.


Apache Flex, formerly Adobe Flex, is a [[software development kit]] (SDK) for the development and deployment of cross-platform RIAs based on the [[Adobe Flash]] platform. Initially developed by [[Macromedia]] and then acquired by [[Adobe Systems]], Flex was donated by Adobe to the [[Apache Software Foundation]] in 2011.
* The network traffic may also be significantly reduced because the client can be more intelligent (e.g. application specific optimization) than a web browser in determining what it needs to send back and forth to the server. Thus, it takes less time to transfer any single request or response because of two reasons - they are smaller and overall network load is lower.


===Java applet===
[[Image:GeaBios_Alice_interface.PNG|thumb|right|400px|[[GeaBios]] - more concurrent RIA applications]]
{{Main article|Java applet}}
Java applets were used to create [[Interactive visualization|interactive visualizations]] and to present video, three-dimensional objects and other media. Java applets were appropriate for complex visualizations that required significant programming effort in a high level language or communications between applet and originating server.


====Shortcomings====
===JavaFX===
{{Main article|JavaFX}}
At the onset of RIA applications they had to deal with a number of shortcomings:
JavaFX is a software platform for creating and delivering RIAs that can run across a wide variety of connected devices. The current release (JavaFX 12, March 11, 2019) enables building applications for desktop, browser and mobile phones and comes with 3D support. TV set-top boxes, gaming consoles, Blu-ray players and other platforms are planned. Java FX runs as plug-in Java applet or via [[Webstart]].<ref>{{Cite web |title=JavaFX 2.2 Release Notes {{!}} JavaFX 2 Tutorials and Documentation |url=https://docs.oracle.com/javafx/2/release_notes_2-2/jfxpub-release_notes_2-2.htm |access-date=2022-11-24 |website=docs.oracle.com}}</ref>


===Microsoft Silverlight===
* RIA applications require sophisticated [[web browser]]s in order to run. A programming language is required (e.g. [[JavaScript]]), with means to control what is presented to the user (e.g. via [[DOM Scripting|DOM]]) and the ability to facilitate communication with the server without affecting what is presented on user's screen.
{{Main article|Microsoft Silverlight}}
Silverlight was proposed by Microsoft as another proprietary alternative. The technology has not been widely accepted and, for instance, lacks support on many mobile devices. Some examples of application were video streaming for events including the [[2008 Summer Olympics]] in Beijing,<ref>{{cite web|url=https://techcrunch.com/2008/01/06/microsoft-silverlight-gets-a-high-profile-win-2008-bejing-olympics/ |title=Microsoft Silverlight Gets a High Profile Win: 2008 Beijing Olympics| access-date=2010-02-23}}</ref> the [[2010 Winter Olympics]] in Vancouver,<ref>{{cite web|url=http://www.businessinsider.com/microsoft-wins-the-2010-olympics-for-silverlight-2009-3 |title=Microsoft Wins The 2010 Olympics For Silverlight| access-date=2010-02-23}}</ref> and the 2008 conventions for both major political parties in the United States.<ref>{{cite web |url=http://www.microsoft.com/presspass/features/2008/aug08/08-19conventions.mspx |title=Microsoft Working to Make Political Conventions Unconventional |access-date=2010-02-23 |url-status=dead |archive-url=https://web.archive.org/web/20100519135325/http://www.microsoft.com/presspass/features/2008/aug08/08-19conventions.mspx |archive-date=2010-05-19 }}</ref> Silverlight was also used by [[Netflix]] for its instant video streaming service.<ref>{{cite web |url=http://netflix.mediaroom.com/index.php?s=43&item=288 |title=Netflix Begins Roll-Out of 2nd Generation Media Player for Instant Streaming on Windows PCs and Intel Macs |access-date=2010-02-23 |url-status=dead |archive-url=https://web.archive.org/web/20100529122655/http://netflix.mediaroom.com/index.php?s=43&item=288 |archive-date=2010-05-29 }}</ref> Silverlight is no longer under active development and is not supported in [[Microsoft Edge]], Microsoft's most recent browser.


=== Gears ===
* Because RIA applications run within a [[Sandbox (computer security)|sandbox]] it has very restricted access to system resources. When access to expected/assumed resources is disabled RIA applications may fail to operate correctly.
{{Main|Gears (software)}}

''Gears'', formerly known as ''Google Gears'', is a discontinued [[utility software]] providing offline storage and other additional features to web browsers, including [[Google Chrome]]. Gears was discontinued in favor of the standardized [[HTML5]] methods. Gears was removed from Google Chrome 12.<ref>{{Cite web|title=Chrome Stable Release|url=https://chromereleases.googleblog.com/2011/06/chrome-stable-release.html|access-date=2021-04-12|website=Chrome Releases|language=en}}</ref>
* Depending on the client-side programming language or method used (e.g. JavaScript), the client code may run at comparatively low speed. This limits what functionality can be migrated from the server.

* Due to a lack of adequate development tools they are significantly harder to develop.

* Users expecting standard web applications may find that some accepted browser functionality (such as the "Back" button) may have somewhat different or even undesired behaviour.

* Additional interactivity may require technical approaches that limit applications [[accessibility]].

* Although it does not have to be ''installed'', additional client-side intelligence of RIA applications needs to be delivered by the server to the client. While much of this is usually automatically [[Web cache|cached]] it needs to be transferred at least once. Depending on the size and type of delivery it may be unpleasantly long..

==Justifications==
Although developing applications to run in a web browser is a much more limiting, difficult, and intricate a process than developing a regular [[fat client|desktop application]], the efforts are often justified because:

*installation is not required -- updating and distributing the application is an instant, automatically handled process
*users can use the application from any computer with an internet connection, and usually regardless of what [[operating system]] that computer is running
*web-based applications are generally less prone to viral infection than running an actual executable
*as web usage increases, computer users are becoming less willing to go to the trouble of installing new software if a browser-based alternative is available

This last point is often true even if this alternative is slower or not as feature-rich. A good example of this phenomenon is [[webmail]].

==Methods==
===JavaScript===
The first major client side language and technology available with the ability to run code and installed on a majority of web clients was [[JavaScript]]. Although its uses were relatively limited at first, combined with layers and other developments in [[DHTML]] it has become possible to piece together an RIA system without the use of a unified client-side solution. [[Ajax (programming) | Ajax]] is a new term coined to refer to this combination of techniques and has recently been used most prominently by [[Google]] for projects such as [[Gmail]] and [[Google Maps]]. However, creating a large application in this framework is very difficult, as many different technologies must interact to make it work, and browser compatibility requires a lot of effort. In order to make the process easier, several [[Ajax (programming)| Ajax libraries]] have been developed.

===Macromedia Flash Player===
[[Macromedia]] is one vendor in this area, whose [[Macromedia Flash|Macromedia Flash technology]] includes [[Flash Communications Server]], [[Macromedia Central|Central]], Breeze and [[Macromedia Flex|Flex]], all of which are run in viewers' browsers within the [[Flash Player|Macromedia Flash Player]] which has a 98% penetration with current Internet users.

[[OpenLaszlo]] is an open source framework that currently targets the Flash Player as well, and is designed to support multiple run-time environments.

===Java applets===

[[Java platform | Java]] [[applet | applets]] are available on most Web Browsers. They provide more functionality than [[JavaScript]], at the expense of being restricted to one or several viewports which are separated from the [[HTML]] of the webpage, unless the applet code either makes [[JavaScript]] calls or manipulates the [[Document Object Model]] of the page. (Flash has the same limitation.)

===Java applications===
[[Java Web Start]] allows desktop [[Java platform|Java]] applications to utilize the client workstation. It also allows the application to break free of the web browser. This approach offers the richest functionality without the limitations of [[HTML]] or the specific web browser in use.


===Other techniques===
===Other techniques===
RIAs could use [[XForms]] to enhance their functionality.{{citation needed|date=November 2016}}{{original research inline|date=November 2016}} Using [[XML]] and [[XSLT]]<ref name="Transformation">{{cite web|url=http://www.w3.org/standards/xml/transformation |title=Transformation|date=2012-09-19}}</ref> along with some [[XHTML]], CSS and JavaScript can also be used to generate richer client side UI components like data tables that can be resorted locally on the client without going back to the server. Mozilla and Internet Explorer browsers both support this.
As more browsers support the Web standard for scriptable [[Scalable Vector Graphics|SVG]], the user interface of RIAs can become richer.


==Security issues in older standards==
The [[Mozilla Foundation]]'s XML-based [[user interface markup language]] [[XUL]] could be used in RIAs, though it would be restricted to Mozilla-based browsers, since it is not a ''de facto'' or ''de jure'' standard.
RIAs present indexing challenges to [[Web search engine]]s, but [[Adobe Flash]] content is now at least partially indexable.<ref>{{cite web|url=https://techcrunch.com/2008/06/30/once-nearly-invisible-to-search-engines-flash-files-can-now-be-found-and-indexed/|title=Once Nearly Invisible To Search Engines, Flash Files Can Now Be Found And Indexed|author=Erick Schonfeld|publisher=AOL|work=TechCrunch|access-date=2 May 2015}}</ref>


Security can improve over that of [[application software]] (for example through use of [[sandbox (computer security)|sandbox]]es and automatic updates), but the extensions themselves remain subject to [[vulnerability (computing)|vulnerabilities]] and access is often much greater than that of native [[Web application]]s. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file-system and to the operating system on the client to the application server on the other side of the connection. This approach allows the client system to handle local activities, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially versus client-server implementations built around so-called thin clients.<ref>[http://www.isecpartners.com/files/RIA_World_BH_2008.pdf Living in the RIA World: Blurring the Line Between Web and Desktop Security, 2008]</ref>
Using XML and [[XSLT]] along with some XHTML, CSS and JavaScript can also be used to generate richer client side UI components like data tables that can be resorted locally on the client without going back to the server. Mozilla and Internet Explorer browsers both support this.


==See also==
==See also==
* [[HTML5]]
*[[List of Rich Internet Applications]]
* [[List of rich web application frameworks]]
*[[Ajax_(programming)|Ajax]]
* [[Platform-independent GUI library|PIGUI]]
*[[Single Page Application]]

==References==
{{Reflist|30em}}


==External links==
==External links==
* [http://www.w3.org/TR/wai-aria/ Accessible rich Internet applications (WAI-ARIA) 1.0] – W3C Candidate Recommendation 18 January 2011
* [http://download.macromedia.com/pub/solutions/downloads/business/idc_impact_of_rias.pdf IDC report on RIAs] (requires registration)
* Macromedia March 2002 requirements for Rich Internet Applications: ( [http://download.macromedia.com/pub/flash/whitepapers/richclient.pdf 500K PDF] or [http://www.markme.com/jd/archives/007312.cfm HTML abstract] )
* [http://www.forrester.com/ER/Marketing/1,1503,214,FF.html October 2000 Forrester Opinion Piece] on what they then called the "X Internet".
* [http://www.theserverside.com/articles/article.tss?l=RiA Hello World Rich Internet Application (RiA) Recipe Background]
* [http://www.backbase.com/#home/essays/001_ajax_and_beyond.xml Rich Internet Apps: AJAX & Beyond whitepaper]


{{Rich web applications}}
{{Web interfaces}}
{{Web browsers}}


{{DEFAULTSORT:Rich Internet Application}}
[[Category:Mobile software]]
[[Category:Rich Internet Applications]]
[[Category:Software architecture]]
[[Category:Software architecture]]
[[Category:Web 2.0]]

[[de:Rich Internet Application]]
[[fr:Rich Internet Application]]
[[nl:Rich Internet Application]]
[[pt:Internet rica]]
[[zh:RIA]]

Latest revision as of 16:39, 5 July 2024

A Rich Internet Application (also known as a rich web application,[1] RIA or installable Internet application) is a web application that has many of the characteristics of desktop application software. The concept is closely related to a single-page application, and may allow the user interactive features such as drag and drop, background menu, WYSIWYG editing, etc. The concept was first introduced in 2002 by Macromedia to describe Macromedia Flash MX product (which later became Adobe Flash).[2] Throughout the 2000s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies including Java applets, Microsoft Silverlight.

With the deprecation of browser plugin interfaces and transition to standard HTML5 technologies, Rich Internet Applications were replaced with JavaScript web applications, including single-page applications and progressive web applications.

History

[edit]

The terms "Rich Internet Application" and "rich client" were introduced in a white paper of March 2002 by Macromedia (now Adobe),[2] though the concept had existed for a number of years earlier under names including: "Remote Scripting" by Microsoft in April 1999[3] and the "X Internet" by Forrester Research in October 2000.[4]

In November 2011, there were a number of announcements that demonstrated a decline in demand for Rich Internet Application architectures based on browser plug-ins in order to favor HTML5 alternatives. Adobe announced that Flash would no longer be produced for mobile[5] or TV[6] (refocusing its efforts on Adobe AIR). Pundits questioned its continued relevance even on the desktop[7] and described it as "the beginning of the end".[8] Research In Motion (RIM) announced that it would continue to develop Flash for the PlayBook, a decision questioned by some commentators.[9] Rumors stated that Microsoft was to abandon Silverlight after the upcoming release of version 5 -- this would later turn out to be the case.[10][11] The combination of these announcements had some proclaiming it "the end of the line for browser plug-ins".[12]

Rich mobile applications

[edit]

A rich mobile application (RMA) is a mobile application that inherits numerous properties from web applications and features several explicit properties, such as context awareness and ubiquity.[13][14][2] RMAs are "energy efficient, multi-tier, online mobile applications originated from the convergence of mobile cloud computing, future web, and imminent communication technologies envisioning to deliver rich user experience via high functionality, immersive interaction, and crisp response in a secure wireless environment while enabling context-awareness, offline usability, portability, and data ubiquity".[15]

Origins of RMAs

[edit]

After successful deployment of web applications to desktop computers and the increasing popularity of mobile devices, researchers brought these enhanced web application functionalities to the smartphone platform. NTT DoCoMo of Japan adopted Adobe Flash Lite in 2003 to enhance mobile applications' functionality. In 2008, Google brought Google Gears to Windows Mobile 5 and 6 devices to support platform-neutral mobile applications in offline mode. Google Gears for mobile devices is a mobile browser extension for developing web applications enriched by a separate, user-installable add-on. These applications can be executed inside the mobile device with a web browser regardless of the architecture, operating system and technology. In April 2008, Microsoft introduced Microsoft Silverlight mobile to develop engaging, interactive UIs for mobile devices. Silverlight is a .NET plug-in compatible with several mobile browsers that runs the Silverlight-enabled mobile apps. Android accommodated the Google Gear plug-in in the Google Chrome Lite browser to improve the interaction experience of Android end-users.

Technologies

[edit]

Adobe Flash

[edit]

Adobe Flash manipulates vector and raster graphics to provide animation of text, drawings, and still images. It supports bidirectional streaming of audio and video, and it can capture user input via mouse, keyboard, microphone, and camera. Flash contains an object-oriented language called ActionScript and supports automation via the JavaScript Flash language (JSFL). Flash content may be displayed on various computer systems and devices, using Adobe Flash Player, which is available free of charge for common web browsers, some mobile phones and a few other electronic devices (using Flash Lite).[16]

Apache Flex, formerly Adobe Flex, is a software development kit (SDK) for the development and deployment of cross-platform RIAs based on the Adobe Flash platform. Initially developed by Macromedia and then acquired by Adobe Systems, Flex was donated by Adobe to the Apache Software Foundation in 2011.

Java applet

[edit]

Java applets were used to create interactive visualizations and to present video, three-dimensional objects and other media. Java applets were appropriate for complex visualizations that required significant programming effort in a high level language or communications between applet and originating server.

JavaFX

[edit]

JavaFX is a software platform for creating and delivering RIAs that can run across a wide variety of connected devices. The current release (JavaFX 12, March 11, 2019) enables building applications for desktop, browser and mobile phones and comes with 3D support. TV set-top boxes, gaming consoles, Blu-ray players and other platforms are planned. Java FX runs as plug-in Java applet or via Webstart.[17]

Microsoft Silverlight

[edit]

Silverlight was proposed by Microsoft as another proprietary alternative. The technology has not been widely accepted and, for instance, lacks support on many mobile devices. Some examples of application were video streaming for events including the 2008 Summer Olympics in Beijing,[18] the 2010 Winter Olympics in Vancouver,[19] and the 2008 conventions for both major political parties in the United States.[20] Silverlight was also used by Netflix for its instant video streaming service.[21] Silverlight is no longer under active development and is not supported in Microsoft Edge, Microsoft's most recent browser.

Gears

[edit]

Gears, formerly known as Google Gears, is a discontinued utility software providing offline storage and other additional features to web browsers, including Google Chrome. Gears was discontinued in favor of the standardized HTML5 methods. Gears was removed from Google Chrome 12.[22]

Other techniques

[edit]

RIAs could use XForms to enhance their functionality.[citation needed][original research?] Using XML and XSLT[23] along with some XHTML, CSS and JavaScript can also be used to generate richer client side UI components like data tables that can be resorted locally on the client without going back to the server. Mozilla and Internet Explorer browsers both support this.

Security issues in older standards

[edit]

RIAs present indexing challenges to Web search engines, but Adobe Flash content is now at least partially indexable.[24]

Security can improve over that of application software (for example through use of sandboxes and automatic updates), but the extensions themselves remain subject to vulnerabilities and access is often much greater than that of native Web applications. For security purposes, most RIAs run their client portions within a special isolated area of the client desktop called a sandbox. The sandbox limits visibility and access to the file-system and to the operating system on the client to the application server on the other side of the connection. This approach allows the client system to handle local activities, reformatting and so forth, thereby lowering the amount and frequency of client-server traffic, especially versus client-server implementations built around so-called thin clients.[25]

See also

[edit]

References

[edit]
  1. ^ McCune, Doug (2009-02-23). Adobe Flex 3.0 For Dummies. John Wiley & Sons. p. Chapter 1, "From HTML to RIA". ISBN 978-0470436820.
  2. ^ a b c Macromedia Flash MX—A next-generation rich client
  3. ^ Clinick, Andrew (12 April 1999). "Remote Scripting". Microsoft Docs. Retrieved 2019-07-10.
  4. ^ Colony, George F. (October 2000). "My View: X Internet". Forrester Research. Archived from the original on 2008-05-18.
  5. ^ "Adobe Flash Player Turfed for Mobile Devices". Retrieved 11 November 2011.
  6. ^ "Adobe Scrapping Flash for TV, Too". Retrieved 11 November 2011.
  7. ^ "PlayBook has a Flash-filled future; RIM's worst decision to date?".
  8. ^ "The beginning of the end for Adobe's Flash". Retrieved 11 November 2011.
  9. ^ "PlayBook has a Flash-filled future; RIM's worst decision to date?". Retrieved 11 November 2011.
  10. ^ "Silverlight 5 - the end of the line". Retrieved 11 November 2011.
  11. ^ "Silverlight End of Support - Microsoft Support". support.microsoft.com. Retrieved 2023-04-01.
  12. ^ "Flash, Silverlight and the end of the line for browser plug-ins".
  13. ^ Khan, Atta ur Rehman; Othman, Mazliza; Khan, Abdul Nasir; Abid, Shahbaz Akhtar; Madani, Sajjad Ahmad (2015-04-23). "MobiByte: An Application Development Model for Mobile Cloud Computing". Journal of Grid Computing. 13 (4): 605–628. doi:10.1007/s10723-015-9335-x. ISSN 1570-7873.
  14. ^ Khan, A. u R.; Othman, M.; Xia, F.; Khan, A. N. (2015-05-01). "Context-Aware Mobile Cloud Computing and Its Challenges". IEEE Cloud Computing. 2 (3): 42–49. doi:10.1109/MCC.2015.62. ISSN 2325-6095.
  15. ^ Abolfazli, Saeid; Sanaei, Zohreh; Gani, Abdullah; Xia, Feng; Yang, Laurence T. (1 September 2013). "Rich Mobile Applications: Genesis, taxonomy, and open issues". Journal of Network and Computer Applications. 40: 345–362. doi:10.1016/j.jnca.2013.09.009.
  16. ^ McCune, Doug; Subramaniam, Deepa (2009-02-23). Adobe Flex 3.0 For Dummies. John Wiley & Sons. ISBN 978-0-470-43682-0.
  17. ^ "JavaFX 2.2 Release Notes | JavaFX 2 Tutorials and Documentation". docs.oracle.com. Retrieved 2022-11-24.
  18. ^ "Microsoft Silverlight Gets a High Profile Win: 2008 Beijing Olympics". Retrieved 2010-02-23.
  19. ^ "Microsoft Wins The 2010 Olympics For Silverlight". Retrieved 2010-02-23.
  20. ^ "Microsoft Working to Make Political Conventions Unconventional". Archived from the original on 2010-05-19. Retrieved 2010-02-23.
  21. ^ "Netflix Begins Roll-Out of 2nd Generation Media Player for Instant Streaming on Windows PCs and Intel Macs". Archived from the original on 2010-05-29. Retrieved 2010-02-23.
  22. ^ "Chrome Stable Release". Chrome Releases. Retrieved 2021-04-12.
  23. ^ "Transformation". 2012-09-19.
  24. ^ Erick Schonfeld. "Once Nearly Invisible To Search Engines, Flash Files Can Now Be Found And Indexed". TechCrunch. AOL. Retrieved 2 May 2015.
  25. ^ Living in the RIA World: Blurring the Line Between Web and Desktop Security, 2008
[edit]