随着JavaFX的出现,gosling,Bob Brewin等等的全力宣传,也初初试用了JavaFX script一把。说说感觉,效果很不错,基本上可以和flash的效果可以媲美。感觉更易编写,是侧重于对显示控件的描述,显示,截取一段demo里面的第一个程序JavaFXpad如下:
Group {
content:
[Rect {
x: 10
y: 10
width: 460
height: 140
fill: LinearGradient {
x1: 0
y1: 0
x2: 1
y2: 0
stops:
[Stop {offset: 0, color: green},
Stop {offset: .5, color: new Color(.5, 1, 0, 1)},
Stop {offset: 1, color: green}]
}
stroke: green
strokeWidth: 3
},
Text {
x: 120
y: 50
content: "JavaFX"
font: Font {face: VERDANA, style: [ITALIC, BOLD], size: 60}
fill: LinearGradient {
x1: 0, y1: 0, x2: 0, y2: 1
stops:
[Stop {
offset: 0.2
color: red
},
Stop {
offset: 0.5
color: orange
},
Stop {
offset: .8
color: red
}]
}
filter:
[Glow {
amount: 0.1
},
Noise {
monochrome: true
distribution: 0
}]
},
View {
transform: translate(160, 200)
content: Button {
icon: Image { url: "JavaFXpad/images/duke.gif" }
text: "Click Me!"
}
}]
言简,义赅,明确,容易掌握,感觉更倾向于一种描述语言,和html一起工作的也不错。不知道在globalization方面是否做的好, 也不知道和netbeans6.0组合出击的时候,是否能够象swing一样拖拉控件?如果真的是的话,那真的是广大UI和g11n的福音了。
(没有找到API,文档方面MS还很欠缺啊)
对于如何实现的,个人猜测是不是封装了java2d,3d,swing等组件。个人感觉JavaFX script的定位让我很迷惑,有着swing绘图, 2d的特性,又带有web的影子,不知道到底是侧重那一方面.是要和flash一较高下呢,还是从易编程,易用方面给java ui的一个补充,个人觉得还是专一点好.还有人说AJAX会受到威胁,不过我想那根本不是重点吧,JavaFX侧重的是UI绘制和表现.另外一个传说中的项目flair才是ajax的对手吧,传说中是opensource不过从来没有找到相关的详细资料.灰常奇怪
从web方面和flash比较,在flash横着走的web领域里面, fx script更象顶风做案.时机不算太好,有些落后.另外从系统需求来说,毕竟flash plugin比jvm精致多了。其他方面就不晓得了,mobile版本没试过不清楚。不晓得,是否在所说的其他java设备表现良好,也不晓得JavaFX mobile是否和收购的SavaJe有关系否,能否在上面跑。还期待大型应用出现来证明其性能是否良好。期待的还有很多,we will see. 当然这些只是泛泛谈谈自己的感想了.