官术网_书友最值得收藏!

1章 JavaFX與RIA概述

1.1 JavaFX簡介

2007年5月,在一年一次的JavaOne大會上,Sun公司發布了一個名叫JavaFX的產品系列。隨后2008年12月Sun公司便正式發布了基于Java語言的平臺JavaFX 1.0,2009年2月又正式發布了JavaFX 1.1。這個平臺建立在其廣泛應用的Java編程語言的基礎上,旨在建立大量可在電腦和手機上運行的網絡程序。其目的是在移動電話、電視、車載系統和瀏覽器等家用設備上開發和部署富互聯網應用程序。

Sun公司這樣描述JavaFX產品家族的前景:“能夠在臺式電腦、移動設備上創建強大的交互式應用和服務。”,如圖1.1所示。

最初,JavaFX是為了解決Java Swing應用開發過于復雜和Java GUI的界面過于呆板的問題而出現的。而當JavaFX在2007年的JavaOne大會上首次對外公布時,JavaFX技術則主要應用于創建Rich Internet application (RIAs)。當前的JavaFX 1.1版本包括JavaFX script和JavaFX Mobile,今后JavaFX可能將包括更多的產品。

圖1.1 JavaFX產品的應用前景

1.1.1 JavaFX Script

JavaFX Script語言適合任何開發者,不論開發者們具備怎樣的編程背景!只要使用簡單的聲明語句,開發者就能夠創建出非常豐富的用戶界面。

JavaFX Script不僅是聲明式語言,還是純面向對象的語言,擁有方法和屬性(在JavaFX中我們稱方法為操作(operations)和函數(functions))。JavaFX Script和Java一樣,屬于靜態語言類型。如Open JavaFX網站所述,JavaFX技術有著良好的前景,包括可以直接調用Java API的能力。因為JavaFX Script是靜態類型,它同樣具有結構化代碼、重用性和封裝性,如包、類、繼承和單獨編譯和發布單元,這些特性使得使用Java技術創建和管理大型程序變為可能。

1.1.2 JavaFX Script與Java的關系

如果你有豐富的Java開發經驗,尤其是Java Swing的開發經歷,你一定深刻體會到Java和Java Swing有著多到令人驚嘆的功能,而且這些功能十分復雜。

JavaFX具有和Java一樣強大功能,因為JavaFX代碼能夠調用任何Java庫的API,例如能夠調用方法、實例化Java類對象。JavaFX的很多用戶接口(UI)在后臺其實是利用了Java Swing的技術。JavaFX語言集成了Java和Java Swing的強大技術,但是開發者卻可以簡單而優雅地使用JavaFX語言。我可以興奮地告訴大家:JavaFX優雅地體現出了“復雜中的簡單性”。

1.1.3 JavaFX Script的特性和優勢

下面列出了一些JavaFX Script的特性。

· JavaFX Script使用簡單的聲明語法來實現用戶接口(UI)的描述,包括了非常多的面板組件(layout widgets),可以輕易地在沒有限制的平臺上創建各種用戶接口。

· JavaFX Script擁有強大的封裝能力,與生俱來就支持MVC設計模式(model –view-controller),可以用聲明式編程語法,使用戶界面類對象的屬性與模型類的屬性值進行雙向綁定。

· 觸發機制能夠在一些條件變化時候自動完成更新調用,例如在變量的值發生改變的時候。觸發機制能使用聲明式語法,可以使得與接口相關的開發變得簡單。因為觸發機制取代了原有的setters和getters,故能夠在變量值發生改變的時候自動完成更新調用。

· JavaFX Script程序運行在Java虛擬機環境中,所以能夠在任何能夠運行Java程序的地方運行。現在有一個處于起步階段的項目,叫做OpenJFX Compiler Incubator Project,其目的是把JavaFX代碼轉換為JVM的二進制代碼。當項目全部完成以后, JavaFX Script將會具有和Java程序一樣的執行速度。

· JavaFX Script提供強大的定義語法、修改語法、查詢語法(比如JavaFX Script中的數組)。· JavaFX Script一方面能夠用于快速的開發應用程序,另一方面也可以用于在學校中教授程序設計課程。

1.1.4 JavaFX平臺構架

JavaFX平臺結合了一種易懂的聲明式語言JavaFX Script,開發工具集、圖形、媒體和音頻支持庫,以及運行時環境。這一特性確保了RIA能夠在具有不同外形規格和功能的設備之間提供一個一致的界面外觀。

JavaFX平臺架構如圖1.2所示。

圖1.2 JavaFX平臺架構

1.1.5 JavaFX技術組成

使用JavaFX開發應用程序所需的功能將可用的下載有機地組織起來,Java FX的技術組成如圖1.3所示。

圖1.3 JavaFX技術組成

1.開發人員程序包

開發人員程序包包含以下工具。

· NetBeans IDE 6.5 for JavaFX

JavaFX技術集成了NetBeans IDE這一成熟、功能強大的開發環境,使JavaFX應用程序的構建、預覽和調試變得非常輕松。

NetBeans IDE for JavaFX易于學習,并且附帶了JavaFX SDK以及許多示例應用程序。

NetBeans編輯器的特色在于有一個拖放組件面板,能快速添加帶有轉換、效果和動畫的JavaFX語句。

如果您用過NetBeans IDE 6.5,您可以添加JavaFX插件以便包括對JavaFX應用程序開發的支持。

2.設計人員程序包

設計人員程序包由一個稱作JavaFX Production Suite的單獨下載組成,該下載內容包含以下能使設計人員與開發人員交換可視化資源的工具:

· Adobe Photoshop環境下的JavaFX插件;

· Adobe Illustrator環境下的JavaFX插件;

· Adobe Photoshop CS3和Adobe Illustrator CS3將圖形資源從創新設計工具中導出到JavaFX格式所使用的插件。

開發人員可以根據設計人員所創建的各種模型開始構建自己的應用程序。隨著可視化設計的發展,開發人員可以很輕松地將作品中的變化融合到應用程序的最終版本中。

3.獨立的SDK

如果您喜歡使用其他工具或者直接通過命令行開發,您可以下載獨立的SDK。

SDK包括以下組件(當您下載NetBeans IDE 6.5 for JavaFX 1.1時,其中也包括這些組件):

· JavaFX 1.1桌面運行;

· JavaFX Mobile運行時發行版;

· JavaFX 1.1 API;

· JavaFX 1.1編譯器;

· JavaFX 1.1 Mobile Emulator發行版;

· JavaFX API文檔。

1.1.6 部署JavaFX程序

全球有億萬臺設備部署了Java,它有著600多萬開發人員。與其他技術相比,Java使JavaFX內容設計人員和開發人員能夠影響更多的觀眾。JavaFX應用程序能夠在大多數臺式機和膝上型電腦上無縫而又一致地運行,將來會在手機(從最低端到最高端)以及電視和其他設備上運行。

JavaFX 1.1應用程序可以使用兩個標準的Java部署技術或者使用移動仿真來進行部署,如下所述:

· Java插件:一個用于部署在Web瀏覽器內運行的Java applet的工具;

· Java Web Start:一個使用JNLP(Java Network Launching Protocol)部署桌面上獨立Java應用程序的工具;

· JavaFX 1.1 Mobile Emulator發行版:JavaFX 1.1 SDK提供的一個工具。JavaFX 1.1 SDK能夠將應用程序像在典型移動設備上顯示的那樣顯示。

JavaFX File Packager實用程序以特定于桌面或者移動設備目標配置文件的形式創建應用程序。JavaFX 1.1 SDK包含這一實用程序。NetBeans IDE結合了這個實用程序并在用戶選擇一個執行模型時可以使用它。

1.1.7 JavaFX Script目前的地位

正如你在本書中看到的,JavaFX Script是Java庫有效且可靠的補充完善。

目前JavaFX語法正在不斷的改善,JavaFX的類庫正在不斷充實。OpenJFX是一個開源項目,JavaFX社區正在不斷為JavaFX Script貢獻創意和技術。社區會繼續改進JavaFX Script開發工具,增加新的功能(例如重構代碼)。

1.1.8 為什么選擇JavaFX平臺

開發人員正在尋求跨多個界面創建RIA的最有效方式。他們需要構建在多個Web瀏覽器、操作系統和設備上無縫操作的高保真GUI而不必針對每個界面接入或者重寫應用程序。為了實現這一目標,開發人員需要與團隊成員高效工作,例如與圖形設計人員和媒體創作者交換音頻、視頻和其他富媒體資源。我們可以利用JavaFX1.1的強大功能做出各種效果的案例,例如視頻媒體播放器,三維效果的顯示機框,各種動畫和游戲以及可以從瀏覽器中拖曳到桌面的物件等。這些神奇的案例都可以通過JavaFX1.1簡單實現。

JavaFX 1.1平臺引入了基本的工具和技術,使開發人員和設計人員能夠協作、創建RIA并將其部署到瀏覽器和桌面上。此外,移動應用程序開發人員可以在JavaFX平臺上使用JavaFX 1.1 Mobile Emulator發行版來預覽移動RIA的開發,如圖1.4所示。

圖1.4 預覽移動RIA的開發

主站蜘蛛池模板: 铜川市| 酒泉市| 都匀市| 城市| 麻江县| 和政县| 炉霍县| 衡阳市| 五寨县| 凯里市| 怀远县| 麻阳| 东辽县| 梁平县| 邹平县| 新竹县| 阳江市| 抚远县| 孝昌县| 大丰市| 仲巴县| 石台县| 鹿邑县| 绍兴县| 呈贡县| 奉化市| 安塞县| 鸡西市| 平江县| 土默特左旗| 岱山县| 兴文县| 河北省| 贵定县| 榆林市| 灵武市| 旅游| 屯留县| 仙居县| 嵊州市| 开封县|