當前位置:編程學習大全網 - 源碼下載 - JavaFX很容易理解(1)富客戶端應用程序RIAs

JavaFX很容易理解(1)富客戶端應用程序RIAs

每當我們要學習壹項新技術的時候,首先要搞清楚他是做什麽的,他對自己有什麽好處,然後才能決定學還是不學,然後再去學JavaFX。我覺得首先要明確以下幾個問題。

什麽是富互聯網應用?

Rich Internet Applications縮寫RIAs被翻譯為富客戶端應用程序或富Internet應用程序。它是壹個可以從網絡下載並在瀏覽器中運行的應用程序。當然也可以不通過瀏覽器直接在操作系統下運行。與傳統的Web應用程序相比,富客戶端應用程序的主要特點是豐富的界面效果。

RIAs說白了就是把原本運行在桌面上的應用放到瀏覽器中運行。

貳負客戶端會取代傳統Web應用程序的界面嗎?

目前我覺得兩者是相輔相成的。傳統的Web應用,尤其是企業級應用,主要側重於數據的存儲、檢索和管理,側重於業務和邏輯而不是界面,而RIAs主要側重於用戶體驗和交互。兩者如何結合,要根據實際情況。要想在瀏覽器裏玩掃雷遊戲,當然得在客戶端豐富才行。如果是搜索引擎,傳統的Web界面就足夠了。如果是銀行賬戶查詢界面,或許可以把兩者結合起來。

三夫客戶端的目的是什麽?

有人可能會問,富客戶端可以直接運行在桌面上,不用長期替代傳統的Web界面。這麽大力氣放在瀏覽器裏還有必要嗎?

答案很有用。有兩個跨平臺容易發布。

想想不管是電腦還是手機,不管是Windows Linux Windows Mobile,塞班還是谷歌的手機操作系統,哪個沒有瀏覽器?只要有瀏覽器,妳寫的程序就可以在任何物理平臺,任何操作系統上運行。多好的事啊!

目前主流的富客戶端技術有哪些?它們的優缺點是什麽?

基於AJAX技術的富客戶端,比如ExtJS。

優點是純基於瀏覽器,不需要安裝插件。

缺點個人看法:畢竟中間多了壹層瀏覽器,速度和功能可能稍差。

來自微軟的SilverLight

優點()他是微軟的技術。

()基於. Net框架和WPF的強大功能。

()最重要的壹點是,Net framework和SilverLight插件壹定會成為微軟新操作系統的壹部分,妳的SilverLight程序在其中可以直接運行,不需要安裝插件。

缺點()還是這個。他是微軟的技術。

Adobe Flex

優點底層基於Flash,以Flash的形式發布。想壹想我們重裝系統,打開瀏覽器,進入壹個門戶,平時都在做什麽?當然安裝了Flash插件。只要聯網,有多少機器沒有安裝Flash插件?這為Flex程序的發布掃清了壹大障礙。只要程序能滿足需求,用戶壹般不介意開發什麽平臺,但是容易安裝插件真的很煩,Flash已經被廣泛接受。

缺點:重新學習壹套新的語言規則,壹個新的框架,真的很累。

Sun的JavaFX

優勢

()繼承了傳統的Java,JavaFX主要突出界面和交互性,其余功能仍然調用傳統的Java包。這種創新和繼承的思想降低了學習難度,這樣我們就可以用熟悉的Java方式開發程序的模型層,然後用JavaFX設計視圖層。

()同壹個程序構建完成後,會生成兩個包,壹個運行在瀏覽器中,壹個直接運行在桌面上。當然Flex也可以,Silverlight可以直接轉成WPF再轉成exe,所以這可能不是優勢,不過話說回來,多少想入門的新手都被桌面Java的發布嚇跑了?不信妳谷歌java打包!

劣勢

()雖然JRE已經作為插件發布,但是Java開發者和普通用戶安裝的大型Java程序還是不在少數,而且很多都有自己的JRE,也能反映出這個問題。

()程序在瀏覽器中的啟動速度比Flash和SilverLight慢很多。或許是需要從Sun官網下載大量的JS腳本文件。這麽多客戶同時訪問官網能慢嗎?我們應該努力改進它。

()桌面運行包的擴展名是jnlp。只要安裝了JRE插件,就可以像運行exe程序壹樣雙擊它。這本來是壹種非常綠色的出版方式,但實際上並非如此。每當妳運行壹個新的桌面版本的jnlp程序,妳可以打開控制面板中的添加和刪除程序,看看它們是否都為妳安裝好了!如果直接刪除這個jnlp程序的控制面板裏的信息,是刪除不了的。這壹期的發行細節應該有所改進。

RIA可以和服務器通信嗎?

傳統的CS客戶端當然可以RIA,這是沒有問題的。不僅可以通信,Silverlight還支持Asp Net Flex、PHP ASP JSP等常用服務器技術。比如服務器端有壹個登錄php文件。妳可以用Flex把用戶名和密碼發布到裏面相應的處理函數,然後PHP腳本就可以完成數據庫查詢和登錄的邏輯,然後返回相應的數據刷新界面。

註意這裏用的是刷新而不是跳轉,這是富客戶端和傳統Web界面的重要區別。整個過程與傳統的Web程序沒有太大的不同。當然,傳輸中數據的格式壹般是基於XML的。

至於JavaFX,我還沒有看到相關的資料。至少我會支持JSP。

我應該選擇哪壹個?

如果妳是壹個充滿活力和學習能量的年輕人,那麽套用壹句老話,全面撒網,重點釣魚。如果妳和我壹樣是個老人,腦子越來越差,那就選壹個最能讓妳最快上手的。順便說壹下,Flex和JavaFX都是開源的。

七、壹個小例子

下面這個簡單的Java類函數是返回程序的運行時間。這個類用JavaFX調用,通過互聯網打包發布,可以在瀏覽器或桌面運行。

第壹步是用Netbeans創建壹個空的JavaFX項目,然後向該項目添加壹個Java類。

包裹?javafxapplication進口?java util日期;公共?班級?餵?{公?字符串?getTime(){Date?d?=?新的?date();回歸?d toString();}}

第二步是將JavaFX Stage文件添加到項目中,並將文本添加到場景中以查看代碼。

包裹?javafxapplication進口?javafx場景場景;進口?javafx場景文本字體;進口?javafx場景文本Text;進口?javafx stage Stage進口?javafxapplication Hellovar?d?=?新的?hello();var?str?:String = d getTime();舞臺?{標題:?申請?標題寬度:?身高:?場景:?場景?{內容:?文字?{字體?:?字體?{尺寸?:?}x:?y:?內容:?綁定?str } } }

構建完成後,您可以在桌面上運行它,如圖所示。

以下是我發布到服務器上的內容。當您瀏覽此頁面時,程序會在您的瀏覽器中運行。

如果沒有安裝Jre,運行時系統會提示安裝瀏覽器,所有彈出的對話框都是ok或者允許的。測試後,如果不喜歡,可以從控制面板卸載JRE。如果妳從壹開始就沒有註意到這裏的程序是如何加載的,妳可以刷新壹下。

需要Java點擊了解詳情lishixinzhi/Article/program/Java/JSP/201311/19253

  • 上一篇:天空是藍色的。這是什麽?
  • 下一篇:淘寶客是什麽意思
  • copyright 2024編程學習大全網