百科解釋
目錄·發(fā)展歷史·優(yōu)點·缺點·開發(fā)現(xiàn)狀·List of RIA Platforms / Approaches·RIA Related Topics·References 富互聯(lián)網(wǎng)應用系統(tǒng)(Rich Internet applications,簡稱RIA)是一種具有近似于傳統(tǒng)桌面應用系統(tǒng)功能和特性的網(wǎng)絡應用系統(tǒng)。RIA系統(tǒng)最大的特點是將大部分處理任務都從用戶界面端移植到客戶端,僅保留一些必要數(shù)據(jù)與服務器端進行信息交互。 RIA系統(tǒng)的特性: 運行于瀏覽器中,不需要額外安裝支持軟件 在本地運行時,受安全沙箱全程保護。 發(fā)展歷史 “富互聯(lián)網(wǎng)應用系統(tǒng)”一詞源于Macromedia公司在2002年3月發(fā)表的一份白皮書,盡管如此,該詞在更早的年代中就已包含以下含義: 遠程腳本(由微軟于1998年左右提出) X Internet(由Forrester Research于2000年10月提出) 富(網(wǎng)頁)客戶端 富網(wǎng)絡應用 傳統(tǒng)的網(wǎng)絡應用程序將所有交互應用都集中在基于“瘦”客戶端的C/S架構上。在這樣的系統(tǒng)中,所有處理操作均在服務器端執(zhí)行,客戶端僅僅是用于顯示靜態(tài)的信息內(nèi)容(如HTML)。這種系統(tǒng)最大的缺陷是所有的交互操作都必須經(jīng)由服務器端進行,首先客戶端要將請求數(shù)據(jù)上傳至服務器端,然后服務器端作出響應并傳回結果,最后客戶端在重載響應信息。而通過使用在客戶端執(zhí)行指令的客戶端技術,RIA可以有效的避免延時,實現(xiàn)程序與用戶操作的同步。這種差異有點類似于“終端與主機”或C/S結構與“胖”應用系統(tǒng)的差異。 隨著時間的遷移,互聯(lián)網(wǎng)標準正在逐漸地改變著,從而以適應這種新技術,所以也就很難為富互聯(lián)網(wǎng)應用劃定出一個明確的概念范圍。但是,所有的富互聯(lián)網(wǎng)應用都有一個相同的特征:它們在客戶端與服務器端之間引入了通常被叫做“客戶端引擎”的中間代碼層。這種客戶端引擎通常作為應用初始化的一部分被下載,也可能隨著應用的運行在后續(xù)代碼中作為補丁被下載并補充進來?蛻舳艘娉洚敒g覽器的一個擴展,而且通常還會接管呈現(xiàn)用戶界面和與服務器端進行通信的職責。 富互聯(lián)網(wǎng)應用的功能可能會受客戶端操作系統(tǒng)性能的限制。但是,在大多數(shù)情況下,客戶端引擎會按設計者的意愿執(zhí)行某些編輯好的功能,從而提升用戶界面某些方面或在一定程度上改進用戶界面的運算速率。而且增加一個客戶端引擎也不會導致任何應用脫離原有瀏覽器與服務器端之間的同步交互模式,其實大多數(shù)富互聯(lián)網(wǎng)應用中,客戶端引擎在原基礎上與服務器端進行的是異步通信。 優(yōu)點 盡管與開發(fā)運行在桌面的程序相比,開發(fā)運行在瀏覽器中的應用程序要更受限、更復雜、更困難,但是這種努力還是值得的,因為它具有以下優(yōu)點: 安裝簡便——更新與使用費用與桌面程序和操作系統(tǒng)相比要經(jīng)濟的多。 終端用戶可以自動或簡單手動的更新到最新版本 用戶可以在任何連接到互聯(lián)網(wǎng)上的電腦中使用程序 有很多工具支持離線使用,例如Adobe AIR,Google Gears等等。 多數(shù)富互聯(lián)網(wǎng)應用程序可以跨平臺使用 與可執(zhí)行文件相比,基于網(wǎng)絡的應用程序可以有效的避免病毒的侵襲 由于富互聯(lián)網(wǎng)應用采用客戶端引擎,所以它具有以下特點: 表現(xiàn)力豐富。富互聯(lián)網(wǎng)應用能在基于標準瀏覽器的網(wǎng)頁應用實現(xiàn)HTML標簽根本無法實現(xiàn)的用戶界面效果。這種內(nèi)涵更豐富的交互涵蓋所有在客戶端所能實現(xiàn)的功能,例如拖拽功能、滑塊功能,而且這些功能無需與服務器端交互數(shù)據(jù),完全是在客戶端進行運算,如抵押計算。 反應更加迅速。與那些總須與遠程服務器進行交互的標準網(wǎng)頁瀏覽器相比,富互聯(lián)網(wǎng)應用界面功能的反應要迅速的多,這也是富互聯(lián)網(wǎng)應用特點之一。 最成熟的富互聯(lián)網(wǎng)應用會給人近似于桌面程序的外觀感覺。而且,使用客戶端引擎還有以下好處: C/S結構的負擔平衡。富互聯(lián)網(wǎng)應用可以使客戶端和服務器端對資源的需求更加平衡,從而使服務器不必再像傳統(tǒng)網(wǎng)頁應用中那樣一直高負荷的運轉。由此服務器端的資源得到了解放,從而提升了同一服務器端硬件設施所能并行服務的客戶端會話數(shù)量。 異步通信。無須等待用戶執(zhí)行諸如在按鈕或鏈接上點擊的交互操作,客戶端引擎便可與服務器端進行交互。如此,用戶便可在客戶端引擎跟服務器端通信的同時,異步地進行頁面瀏覽或交互。從而,富互聯(lián)網(wǎng)應用的設計者便可在免予讓用戶等待的情況下,在客戶端與服務器端之間傳輸數(shù)據(jù)。程序會預先從服務器端預取數(shù)據(jù),即程序預見到未來可能需要某些數(shù)據(jù)的時候,會預先于用戶請求將其下載,借此來提升響應后續(xù)請求的速度。Google Maps便是利用了這種技術,先于用戶將屏幕滾動到臨近的地區(qū),預取到上邊的地圖片斷。 網(wǎng)絡效率高。富互聯(lián)網(wǎng)應用的網(wǎng)絡通信量也會明顯減少,這是由于在決定需要與服務器端交換什么數(shù)據(jù)時,為應用程序專門設計的客戶端引擎會比標準的網(wǎng)頁瀏覽器更智能。由于每次交互所需傳輸?shù)臄?shù)據(jù)量變少了,從而總負載也減輕了,所以每個請求和響應的速度也就提升。但是,濫用異步請求和預取技術有可能會抵消這種優(yōu)勢帶來的好處,有時甚至還會起到反作用。因為程序無法準確地預期每個用戶下一步操作所需的數(shù)據(jù),所以采用這種技術時,時常會下載多余的數(shù)據(jù),而對大多數(shù)客戶端而言,這些數(shù)據(jù)其實并不是用戶真實需要的。 缺點 富互聯(lián)網(wǎng)應用存在以下缺陷: 受限于安全沙箱。由于富互聯(lián)網(wǎng)應用程序運行在安全沙箱中,所以其對系統(tǒng)資源的訪問會受到限制。一旦對系統(tǒng)資源的訪問出現(xiàn)錯誤,那么富互聯(lián)網(wǎng)應用程序就將無法正常運行。 依賴于腳本支持。富互聯(lián)網(wǎng)應用程序常常需要Javas cript或其它腳本語言的支持。一旦用戶瀏覽器對這些腳本進行屏蔽,富互聯(lián)網(wǎng)應用將無法正常運作。 客戶端運行速度受限。為實現(xiàn)平臺無關性,一些富互聯(lián)網(wǎng)應用選用諸如Javas cript這類腳本語言來編寫其客戶端腳本,從而導致了性能上的損失(在移動設備中,此類問題尤為顯著)。而對于如Java這類的客戶端語言是不存在這類問題的,因為它的性能已可比擬傳統(tǒng)的編譯型語言了,而對于Flash,Curl或Silverlight,因為在其插件中所運行的代碼也是經(jīng)過編譯的,所以同樣也不存在這類問題。 下載腳本的延時。雖然無需安裝軟件,但是富互聯(lián)網(wǎng)應用的客戶端引擎還是要從服務器端傳送信息到客戶端。雖然絕大多數(shù)傳輸信息會被緩存,但這種傳輸也至少要執(zhí)行一次。根據(jù)下載的類型和大小,腳本的下載可能會是一件令人苦惱的事情。對此,富互聯(lián)網(wǎng)應用的開發(fā)者可采取壓縮、分段等技術在一定程度上減少這種延遲帶來的影響。 集成困難。如果基于X/HTML開發(fā)應用,那么應用程序的目的(向往控制一切表現(xiàn)效果和行為)和X/HTML的目的(向往解除一切控制)之間的沖突會進一步加劇。X/HTML的DOM接口為創(chuàng)建富互聯(lián)網(wǎng)應用提供了一個可能,但是該方案又會導致富互聯(lián)網(wǎng)應用中的一些功能癱瘓。因為在該方案中,富互聯(lián)網(wǎng)應用的客戶端可以修改應用程序的基本結構并覆蓋其的表現(xiàn)效果和行為,這可能將導致應用程序在客戶端的執(zhí)行錯誤。最終,該問題通過采用新式的客戶端機制來解決,在該機制中,富互聯(lián)網(wǎng)應用將受限于只能對其自身范圍的資源進行修改。(標準的運行在本地軟件之所以不存在該類問題是因為其遵循一個自動程序的定義,只能處理它自行分配的資源)。 搜索引擎優(yōu)化困難。搜索引擎可能無法搜索應用程序文本內(nèi)容中的索引。 依賴于互聯(lián)網(wǎng)連接。最理想的替代桌面程序的互聯(lián)網(wǎng)應用程序要允許用戶間斷性的上網(wǎng),這樣用戶就可以游走在各個熱點與辦公地之間。鑒于此,一些特殊的平臺(如Adobe AIR,Google Gears)就需要允許離線操作的富互聯(lián)網(wǎng)應用程序。 可訪問性存在困難。在富互聯(lián)網(wǎng)應用中存在很多訪問性的困難,其中多數(shù)明顯地表現(xiàn)為屏幕閱讀器在探測由Javas cript引起的HTML內(nèi)容更變上遇到了極大的困難。 無法部署。除了Adobe的AIR技術以外,其它的富互聯(lián)網(wǎng)應用不能像傳統(tǒng)的桌面應用那樣進行部署。 軟件開發(fā)復雜性 富互聯(lián)網(wǎng)應用技術的出現(xiàn)給網(wǎng)頁應用的開發(fā)引入了可觀的復雜度。僅使用標準HTML構建的傳統(tǒng)的網(wǎng)頁應用,其軟件架構相對來說要簡單,同時也只有有限的開發(fā)方案選擇,所以相對來說要易于設計和管理。對使用富互聯(lián)網(wǎng)應用技術的個人或組織而言,他們所面臨的額外的復雜度是他們更難于進行設計、測試、評估和支持。 富互聯(lián)網(wǎng)應用技術的使用引起了若干個在服務級管理(service level management,簡稱 SLM)上的新挑戰(zhàn)。而這些挑戰(zhàn)至今也仍未得到徹底解決。服務級管理所關心的并不總是應用開發(fā)者的焦點所在,也甚少為應用使用者所察覺,但它們對一個在線應用的成功交付卻起著至關重要的作用。富互聯(lián)網(wǎng)應用架構中使管理過程變得復雜的方面包括: 更大的復雜度然開發(fā)變得更加困難。將代碼移至客戶端的能力,給了應用設計者和開發(fā)者更多的創(chuàng)造空間。但是這反過來也讓開發(fā)變得更加困難,增加了發(fā)生過失(bugs)的可能性,也加大了軟件測試的復雜度。無倫引入何種方法學或過程,這些復雜化都將延長軟件開發(fā)過程。這些問題中有些可通過使用網(wǎng)頁應用框架對富互聯(lián)網(wǎng)應用的設計和開發(fā)進行標準化來減輕。但是,無論如何,在軟件的解決方案中增加復雜度,如果增加了用例的數(shù)量,將導致測試過程復雜化和延長。而不完整的測試有會降低應用的質量和使用時的可靠性。有人可能要說,上邊討論的問題并非只是富互聯(lián)網(wǎng)應用技術特有的,而是關于復雜性的廣泛問題。例如,同樣的爭論就發(fā)生于蘋果跟微軟分別在1980年代發(fā)布其GUI時,甚至可能還發(fā)生于Ford發(fā)布其Model T時。無倫如何,人類已經(jīng)展示出了在數(shù)十年間吸收新技術的優(yōu)勢的能力。 富互聯(lián)網(wǎng)應用架構違反了網(wǎng)頁范式。傳統(tǒng)的網(wǎng)頁應用可以看成一系列網(wǎng)頁,這些網(wǎng)頁每頁都需單獨經(jīng)歷由HTTP GET請求發(fā)起下載過程。這種模型被稱為網(wǎng)頁范式。富互聯(lián)網(wǎng)應用廢掉了這種模型,同時額外引入了異步的服務器端通信方式來支持反應更迅速的用戶界面。在富互聯(lián)網(wǎng)應用總,完整加載一個頁面所需的時間可能不再是用戶所能察覺到的重要指標,因為(打個比方說)客戶端引擎可能為未來預取了一些內(nèi)容。為對富互聯(lián)網(wǎng)應用作有效的評估,來反映用戶體驗的指標,肯定會有新的技術被設計出來。在這種評估技術出現(xiàn)之前,富互聯(lián)網(wǎng)應用的開發(fā)者應該指示他們的應用代碼來為SLM產(chǎn)生測量數(shù)據(jù)。 異步通信導致難以隔離性能問題?此泼艿,用以增強應用的響應能力的措施同時也使其難于衡量、理解、報告以及管理響應能力。一些富互聯(lián)網(wǎng)應用在加載第一個頁面后便不再從瀏覽器發(fā)送任何HTTP GET請求,而是通過其客戶端引擎使用異步請求來初始化后續(xù)下載。 The RIA client engine may be programmed to continually download new content and refresh the display, or (in applications using the Comet approach) a server-side engine can keep pushing new content to the browser over a connection that never closes. In these cases, the concept of a "page download" is no longer applicable. These applications are commonly known as refreshless. These complications make it harder to measure and subdivide application response times, a fundamental requirement for problem isolation and service level management. Tools designed to measure traditional Web applications may -- depending on the details of the application and the tool -- report such applications either as a single Web page per HTTP request, or as an unrelated collection of server activities. Neither des cription reflects what is really happening at the application level. The client engine makes it harder to measure response time. For traditional Web applications, measurement software can reside either on the client machine or on a machine that is close to the server, provided that it can observe the flow of network traffic at the TCP and HTTP levels. Because these protocols are synchronous and predictable, a packet sniffer can read and interpret packet-level data, and infer the user’s experience of response time by tracking HTTP messages and the times of underlying TCP packets and acknowledgments. But the RIA architecture reduces the power of the packet sniffing approach, because the client engine breaks the communication between user and server into two separate cycles operating asynchronously -- a foreground (user-to-engine) cycle, and a background (engine-to-server) cycle. Both cycles are important, because neither stands alone; it is their relationship that defines application behavior. But that relationship depends only on the application design, which cannot (in general) be inferred by a measurement tool, especially one that can observe only one of the two cycles. Therefore the most complete RIA measurements can only be obtained using tools that reside on the client and observe both cycles. 開發(fā)現(xiàn)狀 RIAs are still in the early stages of development and user adoption. There are a number of restrictions and requirements that remain: Browser adoption: Many RIAs require modern web browsers in order to run. Advanced Javas cript engines must be present in the browser as RIAs use techniques such as XMLHTTPRequest for client-server communication, and DOM s cripting and advanced CSS techniques to enable the rich user interface. Web standards: Differences between web browsers can make it difficult to write an RIA that will run across all major browsers. The consistency of the Java platform, particularly after Java 1.1, makes this task much simpler for RIAs written as Java applets. Development tools: Some Ajax Frameworks and products such as Curl, Adobe Flex and Microsoft Silverlight provide an integrated environment in which to build RIAs. Accessibility concerns: Additional interactivity may require technical approaches that limit applications'''' accessibility. User adoption: 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. List of RIA Platforms / Approaches Adobe Flash, Adobe Flex and Adobe AIR Adobe Flash is another way to build Rich Internet Applications. This technology is cross-platform and quite powerful to create an application UI. Adobe Flex is a framework that provides the option for a developer to build user interfaces by compiling MXML, an XML based interface des cription language. This Adobe Flex framework is compiled and turned into a SWF file to be run in the Adobe Flash player. Adobe has also released Adobe AIR (Adobe Integrated Runtime), which is a runtime platform that is independent to the hosting operating system. Adobe AIR allows for Flash Player and Ajax applications to be deployed/installed onto a user''''s desktop as you would a desktop application. Backbase Backbase is an ajax-based RIA framework for standards based RIA development. The client framework runs in all common browsers and can be used in combination with existing presentation tier technologies using Java, PHP, .NET, Perl and XML/XSLT. Backbase Visual Ajax Builder is a WYSIWYG visual RIA editor and is available as an Eclipse plug-in. Backbase offers a JSF Edition that enables standards based RIA development for Java Server Faces (JSF). Curl Curl began as a research project at MIT in the late 1990s. It was commercialized by Curl, Inc., which made a first release in 2000. The current release is version 6.0, available for Windows, Linux, and Mac clients. There is no required server side component; any web server can be used. Curl provides a wealth of features, but in an easily accessible form that allows users with a variety of backgrounds to work at different levels of complexity, from simple HTML-like formatting to sophisticated object-oriented programming. The free Curl plugin is on the order of 10 MB in size, but can be installed quickly by broadband users. One advantage of the plugin architecture is that Curl applets work the same on every platform, with any browser, with the exception of a few platform specific APIs. Curl applets are compiled to machine code for fast execution, and various caching mechanisms speed up the loading of applets. Curl is free to use for non-commercial and some commercial uses (see licensing). A Pro version is available which provides additional enterprise class capabilities. Curl supports the software engineering of large complex applications, and may be more efficient in terms of the amount of code needed to write applications. A comparative study by Sonata found that Curl applications required about a third less code than Adobe Flex and Ajax. Curl has had a feature of "detached applets" for several years, which is a web deployed applet which can run independently of a browser window, similarly to Adobe AIR. Curl applets can also be written so that they will run when disconnected from the network. In fact, the Curl IDE is an application written in Curl. Google''''s GWT framework Google released the ''''Google Web Toolkit'''' or GWT in 2006 which allows the development and testing of Javas cript based AJAX RIA''''s using the Java language. The GWT programming paradigm centers around coding user interface logic in Java (similar to the Swing/AWT model), and then executing the GWT compiler to translate this logic into cross-browser-compatible Javas cript. Designed specifically for Java developers, GWT enables Java programming, refactoring, debugging and unit testing of RIAs using existing tools (e.g. Eclipse), without requiring knowledge of Javas cript or specific browser DOM irregularities (although hand-written Javas cript can still be used with GWT if desired). Java applets Java applets run in standard HTML pages and generally start automatically when their web page is opened with a modern web browser. Java applets have access to the screen (inside an area designated in its page''''s HTML), as well as the speakers, keyboard and mouse of any computer their web page is opened on, as well as access to the Internet, and provide a sophisticated environment capable of real time applications. Java applications Java based RIAs can be launched from within the browser or as free standing applications via Java Web Start which integrate with the desktop. Java RIAs can take advantage of the full power of the Java platform to deliver rich functionality, 2D & 3D graphics, and off-line capabilities. Java is widely adopted and there is a vast range of both commercial and open source libraries available for the platform, making it possible to include support for virtually any system, including native applications via JNI or JNA. When it comes to RIAs, Java''''s main weakness is its multimedia support. Java 6 Update N improves some features that have hindered the use of Java for RIAs including startup time and download size, and Sun may even include new multimedia support in this release (due Q2,2008). Numerous frameworks for Java RIAs exist, including XML-based frameworks such as XUI, Swixml, or Canoo''''s, UltraLightClient. JavaFX Sun Microsystems has announced JavaFX, a family of products based on Java technology designed to provide a consistent experience across a wide variety of devices including desktops, (as applets and stand-alone clients) set-top boxes, mobile devices, and Blu-Ray players. The JavaFX platform will initially comprise JavaFX s cript and JavaFX Mobile. Invented by Sun Software Engineer Chris Oliver as a skunk works project, JavaFX s cript enables rapid development of rich 2D interfaces using a declarative syntax similar to SVG. Sun plans to release JavaFX s cript as an open source project, but JavaFX Mobile will be a commercial product available through an OEM license to carriers and handset manufacturers. Javas cript / Ajax The first major client side language and technology available with the ability to run code and installed on a majority of web clients was Javas cript. 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 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 open source Ajax Frameworks have been developed, as well as commercial frameworks. Microsoft ActiveX controls Embedding ActiveX controls into HTML is a very powerful way to develop rich Internet applications. However they are only guaranteed to run properly in Internet Explorer, since no other web browser at this time supports ActiveX controls. In addition, ActiveX controls are not executed in sandbox. Therefore, they are potential targets for computer viruses and malware making them high security risks. At the time of this writing, the Adobe Flash Player for Internet Explorer is implemented as an ActiveX control for Microsoft environments, as well as in multi-platform Netscape Plugin wrappers for the wider world. Only if corporations have standardized on using Internet Explorer as the primary web browser, is ActiveX per se a good choice for building corporate applications. Microsoft Silverlight Microsoft Silverlight, which can be considered a subset of Windows Presentation Foundation (WPF) allows developers to develop RIA. Like Windows Presentation Foundation, Silverlight uses XAML. Therefore, developers with previous development experiences in the field of .NET Framework 3.0 and XAML will find Silverlight familiar, appealing and easy to use. Client machines need to install a small (about 2MB) plug-in (Silverlight Runtime) in order to be able to play Silverlight contents. At this time, Silverlight client for Windows and Mac OS X is available from Microsoft. A third-party open-source plug-in called Moonlight is also available for Linux. Microsoft has also promised to broaden the range of supported clients. During the opening keynote at MIX08 conference in Las Vegas, the first beta of Silverlight 2 was shown running on a Nokia S60 platform as well as Microsoft Windows Mobile 6 devices. Mozilla Prism Mozilla Prism is a product in development which integrates web applications with the desktop, allowing web applications to be launched from the desktop and configured independently of the default web browser OpenLaszlo OpenLaszlo is an open source rich Internet application framework developed by Laszlo Systems Inc.. The OpenLaszlo server compiles programs written in the LZX language (a mixture of XML tags and Javas cript) into either DHTML (commonly known as AJAX now) or Adobe Flash bytecode, currently supporting Flash7 and Flash8. The server - which originally was a proprietary software - was open sourced in October 2004 under the Common Public License. OpenLaszlo is the only rich Internet application platform which is capable of compiling into two different runtimes from the same code base (although GWT will compile into browser-specific java s cript from Java). REBOL 2.6 and Seaside for Smalltalk Available alternatives to Java for RIA include abstract machines for REBOL and Smalltalk programming languages. REBOL does not require a browser and Seaside for Smalltalk uses a minor extension to Smalltalk to provide a much richer web experience. Both are far more mature than more familiar options and as old or older than Java and the JVM. RIA Related Topics RIA with real-time push Traditionally, web pages have been delivered to the client only when the client requested for it. For every client request, the browser initiates an HTTP connection to the web server, which then returns the data and the connection is closed. The drawback of this approach was that the page displayed was updated only when the user explicitly refreshes the page or moves to a new page. Since transferring entire pages can take a long time, refreshing pages can introduce a long latency. Demand for localised usage of RIA With the increasing adoption and improvement in broadband technologies, fewer users experience poor performance caused by remote latency. Furthermore one of the critical reasons for using an RIA is that many developers are looking for a language to serve up desktop applications that is not only desktop OS neutral but also installation and system issue free. RIA running in the ubiquitous web browser is a potential candidate even when used standalone or over a LAN, with the required webserver functionalities hosted locally. Client-side functionalities and development tools for RIA needed With client-side functionalities like Javas cript and DHTML, RIA can operate on top of a range of OS and webserver functionalities. User interface languages Instead of HTML/XHTML, new user interface markup languages can be used in RIAs. For instance, the Mozilla Foundation''''s XML-based user interface markup language XUL - this 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. The W3C''''s Rich Web Clients Activity[1] has initiated a Web Application Formats Working Group whose mission includes the development of such standards [2]. The original DARPA project at MIT which resulted in the W3C also resulted in the web content language Curl which is now in version 5.0. RIA''''s user interfaces can also become richer through the use of s criptable scalable vector graphics (though not all browsers can render those natively yet) as well as Synchronized Multimedia Integration Language (SMIL). Other techniques RIAs could use XForms to enhance their functionality. Using XML and XSLT along with some XHTML, CSS and Javas cript 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. The Omnis Web Client is an ActiveX control or Netscape plug-in which can be embedded into an HTML page providing a rich application interface in the end-user''''s web browser. Appcelerator is an open source platform for developing rich Internet applications using a service-oriented architecture and standards such as HTML, CSS and Javas cript. Appcelerator applications can integrate automatically with several different integration points on the service tier using Java, PHP, Python, .NET, Perl and Ruby on Rails. Appcelerator applications can use pre-built widgets to assemble high quality RIAs. Appcelerator is licensed under the GNU GPL version 2 License. References ^ W3C(2008年3月15日).W3C Rich Web Clients.w3c.org. ^ W3C(2008年3月15日).Web Application Formats Working Group.w3c.org.
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助