WidgetFX
WidgetFX
1)介绍
开发WidgetFX需要大量技术,由于技术很前沿,故文档很容易过时。请时刻注意不一致的地方。
WidgetFX是一个用JavaFx脚本语言编写的桌面Widget平台,它能运行用JavaFx脚本或Java编写的Widgets,利用了最新的Java SE update 11特征。还利用了Java Consumer JRE的最新功能,能够运行在所有主流操作系统上,包括Windows XP/Vista、Linux和Mac OS X。
2)细节
开发WidgetFX需要下列技术工具:
· Java SE Update 10 JRE and JDK
· JavaFx SDK with NetBeans 6.1
3)获取最新的JavaFx SDK
访问:http://java.sun.com/javafx/downloads/
下载:Netbeans IDE 6.1 with JavaFX
要确保Java SE Update 10作为NetBeans的JDK。
4)在NetBeans打开WidgetFX
这里有6个NetBeans项目,1个是核心API,1个是dock容器,另外3个是核心Widget,还有1个是Web应用程序。
组织如下:
---- Webapp
|
---------- Container
|
---------- Widgets(包括Clock、SlideShow,WebFeed)
|
------------ Widget API
在NetBeans中打开容器及其所有依赖项目 (有一个选项,自动打开所依赖的项目)。无论何时建立容器,该项目的依赖都将自动产生API和经过重编译的widget项目。除非您正在部署产生的实例,否则无需载入webapp项目。
要运行应用程序,与容器一起作为主项目和网络启动配置选择,单击“运行”。这应该启动默认的Web启动应用runner和在早先建立的Widget中动态读入。
如果您在建立过程中遇到任何问题,在报告任何问题之前请尝试运行一个clean。由于NetBeans的不足,这或许需要重启并释放文件锁。 (另外,请确保WidgetFX应用程序没有运行——通过检查托盘图标)
5)WidgetF宣称其具备若干胜过其他widget容器的优点:
· 开源
WidgetFX是一个完全开源的widget容器(widget本身可以商业注册)。
· 支持跨平台
目前存在很多widget框架,但彼此并不兼容,没有实现真正跨平台。WidgetFX能够运行在所有主流操作系统上,包括Windows XP/Vista、Linux和Mac OS X。
· 健壮的安全模型
将web技术迁移到widget上导致了巨大的安全漏洞,这是一个所有基于Javascript的widget框架都要面临的问题。然而,WidgetFX通过利用Java平台的安全沙箱实现了健壮的安全模型(预计在0.2版中发布)。
· 富桌面应用
大多数widget容器将传统web技术比如HTML、CSS和Javascript等移植到桌面上,而桌面系统又不允许它们利用富互联网应用(RIA)的优点。然而,WidgetFX设计目标就是通过提供一套非常丰富的视觉、动画和媒体库实现富桌面应用(RDA)的前端。
6)WidgetFX的部署也有别于目前的Java(Applets/Web Start)
· 内存占用低
applets在同一个浏览器中可以使用同一个虚拟机,一旦把它们拖拽到桌面上它们就失去了这个能力。对于大量的widget来说,这会导致内存和JVM启动时间的猛增。
· 开放启动过程
Widget容器会随着系统自动启动,并运行所有上一次关闭时还在工作的widget。虽然你可以对一个web-start应用添加一个hook来实现这个功能,但是这不如让用户“期望”你的widget在启动时就存在。
· Widget共鸣
Widgets正在成为主流,虽然它们可以与桌面应用相提并论,但是如果Java无法提供一个可行的产品,它将被踢出这个舞台。
Widget与Java Applets的区别:Widget比Java applets更便于用户创建。
Applets被用来运行在网页内,而widget在本文档中被描述成作为独立于浏览器的应用运行的。
WidgetFX通过JavaFX脚本语言直接满足了这些需求,简化了widget的创建和桌面集成特性,这使得WidgetFX有别于标准的Java applets。