首頁 後端開發 C#.Net教程 幾種RIA技術介紹

幾種RIA技術介紹

Aug 03, 2017 pm 01:19 PM
介紹 幾種 科技



Rich Internet Application(富互聯網應用程序,簡稱RIA),一種全新的Web應用程式架構,它結合了桌面軟體良好的用戶體驗和web應用程式易部署的優點,很快就獲得了企業的青睞。近年來,各大開發平台供應商相繼推出新的技術來支援RIA的開發,從Ajax到SilverLight,從Apollo和AIR到Flex和Flash,從JavaFX到Laszlo,各種技術粉墨登台,以期成為大家關注的焦點。

然而,身為應用系統開發廠商,開發團隊與開發者,在RIA大潮中,選擇什麼樣的技術,讓自己更好地建構RIA系統,成為我們需要仔細考慮的問題。

 

AJAX

Ajax其實是用新的技巧把一些古老技術結合在一起使用,從而讓WebApplication使用者介面的互動性得到極大的提升。

在Ajax中,XMLHttpRequest是核心,是Ajax強大功能的來源,Ajax和傳統的Web介面技術區別也就在此。透過XMLHttpRequest,就把瀏覽器中的HTML(DHTML)和伺服器端的資料分離開。利用JavaScript來操縱客戶端存取伺服器取得數據,並修改HTML結構,以顯示資料。使用Ajax的經典例子就是Gmail和GoogleMaps了。

 

Flash/Flex/Laszlo

Flex是為滿足企業級應用而推出的應用程式架構。 Flex提供基於標準的、聲明性的程式設計方法和流程,用於開發和部署豐富客戶端應用程式的表示層。 Flex開發者使用直覺的、基於XML的MXML來定義豐富的使用者介面,利用ActionScript(一種物件導向的腳本語言)來編寫程式邏輯。

該語言由 Flex伺服器翻譯成SWF格式的客戶端應用程序,在FlashPlayer中運行。目前Flex已經發表了Flex 3.0 beta。

Laszlo是一個開源的RIA開發環境。使用Laszlo平台時,開發者只需編寫名為LZX的描述語言(其中整合了XML和JavaScript),運行在J2EE應用伺服器上的Laszlo平台會將其編譯成swf格式的檔案並傳輸給客戶端展示。在未來的計畫中,Laszlo還可以將LZX編譯成Java或.NET本機程式碼,從而大大提高運作效率。在最新發布的Laszlo4.0中,開發人員可以選擇Laszlo最終顯示為Flash還是DHTML。

Flex和Laszlo從運作位置來看,他們都屬於伺服器端技術,和大家熟悉的ASP,ASP.NET,JSP和PHP的運作機制類似。只是ASP等動態網頁技術,就是把介面元素解析為HTML傳送給客戶端的瀏覽器來展現;而Flex和Laszlo是把介面元素解析為二進位的swf文件,執行到瀏覽器中的FlashPlayer插件裡。

 

AIR

AIR之前稱為Apollo,Adobe官方的解釋為:是一個跨作業系統的運作環境,允許開發人員使用先前Web開發的技能來創建RichInternet Application,並部署到桌面上運行。整體來說,AIR就是Adobe把現有的技術,如:Flash、PDF、JavaScript、XML和ActionScript整合在一起,並提供一個客戶端運行環境,可以讓開發人員開發可以存取Internet資源的桌面程式。本質上,AIR就是讓Flash(或Ajax)脫離瀏覽器運行的一個桌面應用程式運行環境。

要開發AIR應用程序,也很簡單,有兩種技術可供選擇:一,使用HTML+JS技術;二,使用Flex+Flash。可使用的開發工具也就是開發上述技術的工具,如:flexbuilder、 flash IDE、eclipse、notepad 等等。

使用AIR來開發RIA的優缺點和Flex等類似,最大的好處就是:可以脫離瀏覽器成為一個獨立的桌面程式而運行,並且不受瀏覽器安全限制,可以有更多的權限存取本機資源。

目前,AIR還在測試階段,很多功能還不完善,相信等正式版發布後,會有更多功能值得我們期待。

WPF

一直以來,應用程式的使用者介面都可以用不同的技術開發,從MFC到VB,從WindowsForms到HTML+JS。對於開發人員來說,這就需要針對不同的應用程式類型,使用不同介面開發技術。隨著Flash等多媒體2D或3D介面的出現,選擇也越來越多。如果想使用一種技術就能開發各類應用程式的介面,這將是一個巨大的挑戰。

Windows Presentation Foundation(WPF),最初代號為“Avalon”,目前作為 .NET 3.0的一個元件發布,就是為解決這一難題而設計。

WPF為桌面用戶端和瀏覽器用戶端提供了通用基礎,大大簡化了二者的應用程式開發工作。 WPF採用更現代的方法,支援影片、動畫、2D或3D圖形以及各種類型的文檔,從而可以讓使用者以全新的方式處理資訊。此外,WPF也為桌面用戶端和瀏覽器用戶端提供了通用基礎,大大簡化了二者的應用程式開發工作。

作為微軟的下一代介面技術,WPF的最大特點就是把介面的佈局描述和介面邏輯程式碼分開。 WPF透過XAML(擴展應用程式標記語言,一種基於XML的語言,允許以聲明方式指定使用者介面,而非程式碼)把專業介面設計人員的工作和專業的程式開發人員的工作分開,讓他們更容易協作,以開發出介面炫麗,功能強大的應用程式。

同時微軟為不同的工作提供了不同的工具,針對介面設計人員,推出Expression Studio;針對程式開發人員,推出VisualStudio 2008(預計今年底發布RTM)。

透過提供更強大的圖形支援功能,WPF 使得一系列資料視覺化成為可能,而這依靠Windows Forms 或其他的早期技術是不可能實現的。 WPF 也提供了 XML Paper Specification(XPS) 的基礎,可定義檢視、散佈和列印固定格式文件的標準格式。

Silverlight

Silverlight原本的代號叫做“WPF/E”,意思是WPF run onEverywhere,它是WPF的子集。 Silverlight被社群稱為微軟出品的Flash Killer。

官方對其的定義是:「Silverlight是一個跨瀏覽器的、跨平台的插件,為網路帶來下一代基於.NET的媒體體驗和豐富的互動式應用程式」。 Silverlight提供靈活的程式設計模型,支援AJAX,VB, C#, Python, Ruby等語言,並整合到現有的WebApplication中,能夠存取其中的DOM資訊。內建多媒體技術的支持,可以以很低的成本播放媒體檔案。

目前,Silverlight發表了兩個版本, 1.0 beta和1.1alpha。可以運行於Windows和Mac平台下。同時Mono專案也在積極的開發Moonlight,一個在Linux下的Silverlight實作。

 

XUL

XUL是一種基於XML的使用者介面語言,它來自於Mozilla的開放原始碼專案。它可用於建立窗體應用程序,這些應用程式不僅可以在Mozilla瀏覽器上運行,而且也可以運行在其他描述引擎上,如Zulu(一個FlashMX組件)和Thinleys(一個Java實現)。 XUL描述引擎都非常小(100K以下),它可以使用XML資料也可以產生XML資料。 XUL的一個主要缺點在於它目前還沒有獲得一個主要商業實體的支援。 XUL最大的優點在於它與Gecko引擎的整合(打開了通往大量Web標準的大門),以及與大多數其它XML使用者介面描述語言相比,它是一種非常具有表達力和簡潔的語言。

目前XUL可以嵌入在Mozilla(或FireFox)瀏覽器中運行,也可以透過一個XULRunner的運行環境,脫離瀏覽器運行。

 

JavaFX

「JavaFX是一個建構在Java技術之上完整的運作環境,可以用來交付到桌面、行動裝置、手持設備和電視等環境的富互聯網應用(RIA)。 JavaFX是SUN進入RIA領域的開發技術,它包含JavaFXScript和JavaFX Mobile兩個部分,使用一種全新的腳本語言,依賴Java SE/ME運行時,利用Java2D和SwingAPI來實現在桌面或行動裝置上運行RIA應用。

 

三類RIA技術比較

#透過上述各種RIA開發技術介紹,我們可以看到它們各自的概念有所不同,運作的環境也不盡相同。整體說來,RIA開發技術分為三類:

1.瀏覽器類,整個RIA是運行於瀏覽器裡面,依靠傳統的HTML+CSS+JavaScript技術來實現介面的表現與控制。

2.瀏覽器插件類,RIA透過插件的方式運行於瀏覽器中。正在運作的程式是廠商特定的運作格式,需要特定的運作環境。

3.桌面類,RIA脫離瀏覽器直接運行於桌面之上。和常見的桌面程式很類似,但是可以存取Internet資源,並且具有部署容易,更新簡單的功能。

在三種分類的技術中,瀏覽器技術是成為開發RIA最直接的技術,這類技術適合一直在做網頁應用的軟體開發商。

新型桌面技術則完全另起爐灶,充分使用桌面開發的技術、技巧和理念,並結合WebApplication部署方便,即時安裝的優點。此類技術適合做Windows應用的開發商。

瀏覽器外掛程式則在瀏覽器技術和新型桌面之間進行了折衷,既使用新的技術來實現豐富的介面,又能和現有的Web技術進行部分的整合。

 

哪種RIA技術適合你

RIA是未來應用系統開發的重要方向,很多軟體開發企業,開發團隊和開發人員都希望在未來找到適合自己的技術,從而讓自己事半功倍,在提高開發效率,降低開發成本的同時,又能交付給客戶體驗豐富、功能完善的軟體系統。

雖然在上面我們介紹了各種技術及其優缺點,並對他們進行了一個歸類,但是要回答「我們該選擇那種」這個問題,還需要考慮下面的情況?

首先是我們自己的情況:

◆ 目前你的技術能力主要在Web開發方面還是Windows開發方面?

◆ 目前你開發的應用程式功能類型是內容展現為主還是交易處理為主?

◆ 目前主要在使用那個廠商或組織的技術? .NET 或者JAVA或其他Web技術?

◆ 目前是否在進行RIA或類似RIA的開發?

◆ 目前正在使用那種RIA開發技術?

其次是考慮技術的選擇標準:

◆ 學習成本,開發效率

◆ 對應用程式類型的適合性

◆◆ 執行環境部署成本

◆◆ 運作效率

◆ 完善的功能特性

◆ 技術授權成本與伺服器部署成本,開源、免費或收費

##◆ 官方和社群的技術支援

◆ 完善的開發工具

◆◆ 完善的UI元件

◆ 跨平台特性

最後,我們依照自己的具體情況和選擇技術的標準,可以為對這些技術進行一個定位和排序。

以技術運行環境部署成本來比較(由低到高):

Ajax > Flex/Laszlo> Silverlight > XUL >WPF > AIR > JavaFX

#以技術授權成本來看:

開源的有:Ajax,Laszlo,XUL,JavaFX

免費的有:Silverlight,WPF,AIR

#收費的有:Flex

從技術支援來看:無疑Silverlight和WPF會獲得最好的官方支持,Flex的官方技術也在改善,其他技術主要依靠社群的支持。

就開發工具來看:Silverlight和WPF可以有最強大的工具使用,Flex、AIR和Laszlo也有優秀的IDE可供使用,JavaFX的開發工具尚未明朗,Ajax要看具體的實現而定,XUL的開發工具進度緩慢。

就可以使用UI元件的情況來看:WPF和Silverlight需要自己擴充或使用第三方的;Flex、AIR和Laszlo都提供了豐富的UI元件,XUL自己有一套基本夠用的UI元件,JavaFX依賴JRE自備的UI工具箱。

對於跨平台特性和相容性我們也可以得到一個排序:

Flex/Laszlo > Ajax> XUL > JavaFX > AIR> Silverlight > WPF

#總而言之,要選擇適合自己的RIA開發技術,需要從各個方面來權衡。不僅要明確自己的狀況,考慮未來的需求,也要熟悉每種技術的差異和優缺點,這樣才能找到正確的技術。

以上是幾種RIA技術介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1230
24
Stable Diffusion 3論文終於發布,架構細節大揭秘,對復現Sora有幫助? Stable Diffusion 3論文終於發布,架構細節大揭秘,對復現Sora有幫助? Mar 06, 2024 pm 05:34 PM

StableDiffusion3的论文终于来了!这个模型于两周前发布,采用了与Sora相同的DiT(DiffusionTransformer)架构,一经发布就引起了不小的轰动。与之前版本相比,StableDiffusion3生成的图质量有了显著提升,现在支持多主题提示,并且文字书写效果也得到了改善,不再出现乱码情况。StabilityAI指出,StableDiffusion3是一个系列模型,其参数量从800M到8B不等。这一参数范围意味着该模型可以在许多便携设备上直接运行,从而显著降低了使用AI

DualBEV:大幅超越BEVFormer、BEVDet4D,開卷! DualBEV:大幅超越BEVFormer、BEVDet4D,開卷! Mar 21, 2024 pm 05:21 PM

這篇論文探討了在自動駕駛中,從不同視角(如透視圖和鳥瞰圖)準確檢測物體的問題,特別是如何有效地從透視圖(PV)到鳥瞰圖(BEV)空間轉換特徵,這一轉換是透過視覺轉換(VT)模組實施的。現有的方法大致分為兩種策略:2D到3D和3D到2D轉換。 2D到3D的方法透過預測深度機率來提升密集的2D特徵,但深度預測的固有不確定性,尤其是在遠處區域,可能會引入不準確性。而3D到2D的方法通常使用3D查詢來採樣2D特徵,並透過Transformer學習3D和2D特徵之間對應關係的注意力權重,這增加了計算和部署的

自動駕駛與軌跡預測看這篇就夠了! 自動駕駛與軌跡預測看這篇就夠了! Feb 28, 2024 pm 07:20 PM

軌跡預測在自動駕駛中承擔著重要的角色,自動駕駛軌跡預測是指透過分析車輛行駛過程中的各種數據,預測車輛未來的行駛軌跡。作為自動駕駛的核心模組,軌跡預測的品質對於下游的規劃控制至關重要。軌跡預測任務技術堆疊豐富,需熟悉自動駕駛動/靜態感知、高精地圖、車道線、神經網路架構(CNN&GNN&Transformer)技能等,入門難度很高!許多粉絲期望能夠盡快上手軌跡預測,少踩坑,今天就為大家盤點下軌跡預測常見的一些問題和入門學習方法!入門相關知識1.預習的論文有沒有切入順序? A:先看survey,p

介紹最新的Win 11聲音調法方法 介紹最新的Win 11聲音調法方法 Jan 08, 2024 pm 06:41 PM

很多用戶更新了最新的win11之後發現自己系統的聲音有了些許的變化,但是又不知道該怎麼去進行調整,所以今天本站就給你們帶來了電腦最新win11聲音調法介紹,操作不難而且選擇多樣,快來一起下載試試吧。電腦最新系統windows11聲音如何調1、先右鍵點選桌面右下角的聲音圖標,並選擇「播放設定」。 2、然後進入設定中點選播放列中的「揚聲器」。 3、隨後點選右下方的「屬性」。 4.點選屬性中的「增強」選項列。 5.此時如果「禁用所有聲音效果」前的√勾上了就把他取消。 6、之後就可以選擇下面的聲音效果來進行設定並點

綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等) 綜述!深度模型融合(LLM/基礎模型/聯邦學習/微調等) Apr 18, 2024 pm 09:43 PM

23年9月國防科大、京東和北理工的論文「DeepModelFusion:ASurvey」。深度模型整合/合併是一種新興技術,它將多個深度學習模型的參數或預測合併為一個模型。它結合了不同模型的能力來彌補單一模型的偏差和錯誤,以獲得更好的性能。而大規模深度學習模型(例如LLM和基礎模型)上的深度模型整合面臨一些挑戰,包括高運算成本、高維度參數空間、不同異質模型之間的干擾等。本文將現有的深度模型融合方法分為四類:(1)“模式連接”,透過一條損失減少的路徑將權重空間中的解連接起來,以獲得更好的模型融合初

不只3D高斯!最新綜述一覽最先進的3D重建技術 不只3D高斯!最新綜述一覽最先進的3D重建技術 Jun 02, 2024 pm 06:57 PM

寫在前面&筆者的個人理解基於圖像的3D重建是一項具有挑戰性的任務,涉及從一組輸入圖像推斷目標或場景的3D形狀。基於學習的方法因其直接估計3D形狀的能力而受到關注。這篇綜述論文的重點是最先進的3D重建技術,包括產生新穎的、看不見的視野。概述了高斯飛濺方法的最新發展,包括輸入類型、模型結構、輸出表示和訓練策略。也討論了尚未解決的挑戰和未來的方向。鑑於該領域的快速進展以及增強3D重建方法的眾多機會,對演算法進行全面檢查似乎至關重要。因此,本研究對高斯散射的最新進展進行了全面的概述。 (大拇指往上滑

什麼是狗狗幣 什麼是狗狗幣 Apr 01, 2024 pm 04:46 PM

狗狗幣是一種基於網路迷因創建的加密貨幣,沒有固定的供應上限,交易時間快速,交易費用低,擁有龐大的迷因社群。用途包括小額交易、打賞和慈善捐贈。然而,其無限供應量、市場波動和作為笑話幣的地位也帶來風險和擔憂。什麼是狗狗幣?狗狗幣是一種基於網路迷因和笑話創建的加密貨幣。起源與歷史:2013年12月,兩位軟體工程師BillyMarkus和JacksonPalmer創立狗狗幣。靈感來自於當時流行的"Doge"模因,一個以一隻柴犬為特徵的滑稽照片加上破碎英語。特徵與優勢:無限供應量:與比特幣等其他加密貨

詳細介紹電腦中的印表機驅動程式位置 詳細介紹電腦中的印表機驅動程式位置 Jan 08, 2024 pm 03:29 PM

許多用戶在電腦上安裝了印表機驅動程序,但卻不知道如何找到它們。因此,今天我為大家帶來了詳細介紹印表機驅動程式在電腦中的位置,對於還不了解的用戶,快來看看吧印表機驅動在電腦哪裡找重新撰寫內容而不改變原義時,需要將語言改寫為中文,不需要出現原句首先,建議使用第三方軟體進行搜尋2、在右上角找到"工具箱"3、在下方找到並點選「裝置管理員」。改寫後的句子:3、在底部找到並點擊“裝置管理員”4、然後打開“列印佇列”,然後找到你的印表機裝置。此次是你的印表機名稱型號。 5.右鍵印表機設備,就能夠去更新或卸載我

See all articles