首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JavaFX 體驗手記:聲明式語法與消費者級 JRE 的前景

     編輯:Java 相關知識

JavaOne 發布的 JavaFX(腳本語言)已出一段時間,社區褒貶不一。下載 NetBeans 外掛、跑完 Getting Started 範例後,核心觀感如下:

本質:Swing/AWT 的薄包裝層

JavaFX 並非全新圖形堆疊,而是在 Swing/AWT 之上疊加一層聲明式腳本語法,語法極度類似 JavaScript/JSON。Sun 宣稱將推出 5-9MB 的消費者級 JRE,疑為 JavaFX 專門定製。

Hello World 兩種寫法

聲明式(類 JSON)

import javafx.ui.*;

Frame {
    title: "Hello World JavaFX"
    width: 200
    height: 200
    content: Label {
        text: "Hello World"
    }
    visible: true
}

命令式(類 JavaScript)

var win = new Frame();
win.title = "Hello World JavaFX";
win.width = 200;
var label = new Label();
label.text = "Hello World";
win.content = label;
win.visible = true;

資料綁定與 MVC

定義 Model:

class HelloWorldModel {
    attribute saying: String;
}
var model = HelloWorldModel { saying: "Hello World" };

View 綁定 Model:

var win = Frame {
    title: bind "{model.saying} JavaFX"
    width: 200
    content: TextField {
        value: bind model.saying
    }
    visible: true
};
  • bind 關鍵字實現雙向綁定,TextField 輸入即時反映到 Frame 標題。
  • "{model.saying} JavaFX" 字串插值語法類似 Ruby "#{var} text"。

優缺點快評

優點缺點
聲明式語法簡潔,降低 UI 程式碼量佈局機制仍沿用 Swing 複雜的 LayoutManager
與 Java 後端無縫互通(同平台)多媒體/動畫能力仍遜於 Flash/Flex
消費者級小型 JRE 利於分發生態系、工具鏈、元件庫遠不如成熟 RIA 技術

結語

JavaFX 當前更像是「給 Java 開發者的聲明式 UI 腳本」,而非顛覆性 RIA 平台。若團隊深耕 Java 後端、需快速構建內部管理介面,值得嘗試;面向大眾消費市場的豐富互聯網應用,Flash/Flex/Silverlight 仍是更務實選擇。靜觀後續版本能否在效能、元件生態上實質突破。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved