JavaFx看起来似乎不是要吸引已有的开发者,还要包括Flash的开发者,去抢占Flash的地盘。
JFX从语言上看:
- 简单,抛弃了无聊的get/set和基本类型
- 集成了数据绑定,看看例子就知道多强大
- 简单的数组操作,select /delete/insert都用上了
- 方法作为对象(一级方法?)
- 带有语法的字符串
- 继承了Java既有的对象特性、垃圾回收等
- 在UI上,不仅仅是包装,更加新增了动画、变形等特效,并且从语言上支持
JFX优势:
- 已有的庞大类库资源
- 虚拟机级别上的统一,jfx和jsp一样,只是脚本,不妨碍java自家调用
- c/s,b/s的优势,自家打交道
- 语言的简单和灵活。不像xml的冗长。不需要分离
本来想jfx设计工具至少一年半载才能出来,没想到已经有相当不错的产品。至少用它生成界面代码很好。http://www.reportmill.com/jfx/, 运行webstart可以看到类似flash的设计工具。注意在右边有时间轴面板。 在它的Gallery我们可以以applet方式看到一些演示。
jfx可以用自己的瘦身虚拟机,也可以用jre5,所以用applet一样可以运行,当然web start也是一种方式。
关心fx和java区别的朋友可以去看看openjfx compiler, 用svn下载代码编译出一个jar。这个编译工具可以输出fx对应的java代码,供好事者比较~
jfx一些疑惑:
- 类的方法体和成员变量初始化跑到了类的外面。难道是为了GUI设计器?
- 关键字的引用方式<<java.lang.system></java.lang.system>>, jfx将来作为js嵌入的时候会有困难
- jnlp demo每次启动似乎需要2~3秒左右,cpu偏高,难道象jsp一样在编译?如果这样不如象java一样直接提供class,毕竟用户是没有多少耐心的。
- 安全和版本问题,会不会象applet一样绑住自己手脚?还是象symbian一样不停的询问用户?
- 视频和其它媒体格式的支持,这一直是java的弱项,如果要攻打桌面市场,要尽快努力。
- 现有手机上怎么去支持jfx? 现有的手机淘汰?编译成j2me?
jfx作为脚本语言,简单安全易用,肯定会吸引很多已有的java开发者,但是在大型项目中又不宜用。java应该在另辟蹊径的同时尽快自我完善。
jfx凭借免费、丰富的资源、庞大的开源社区支持,完全有理由成为穷人的劳斯莱斯。
分享到:
- 2007-08-14 16:42
- 浏览 1765
- 评论(3)
- 论坛回复 / 浏览 (3 / 4195)
- 查看更多
相关推荐
工作状态指示器 绑定到 Work.State 属性时显示不同节点的自定义 JavaFX 控件。 每个 Work.State 属性都有默认的彩色形状 可以在 FXML 中覆盖任何或所有默认状态节点 用于绑定的示例 Java 代码... < ready> < Recta
- 事件未触发:确保在DOM加载完成后再初始化DateTimePicker,可以使用`$(document).ready()`或`$(window).load()`。 综上所述,DateTimePicker是一个强大且灵活的日期和时间选择插件,它能提供丰富的功能和定制...
2. **Swing或JavaFX UI组件**:可能使用这些Java GUI库来构建插件的用户界面,提供直观的操作体验。 3. **Maven或Gradle构建**:作为Java项目,插件很可能使用Maven或Gradle这样的构建工具管理依赖和构建流程。 4. *...
标题 "Basic Java window compile ready-开源" 暗示了这是一个关于使用Java语言构建图形用户界面(GUI)的基础教程,且源代码是开放的,可供学习者自由查看、修改和分发。开源软件通常遵循特定的许可证,如GPL、MIT...
$(document).ready(function() { $('#codeEditor').textareaLineNumber(); }); ``` 在设置插件时,可能还需要自定义一些参数,比如行号的样式、颜色、是否显示行号区域的边框等。这些可以通过传递配置对象到插件...
在操作系统中,进程通常有以下几个基本状态:新建(New)、就绪(Ready)、运行(Running)、等待(Blocked)和结束(Terminated)。这些状态之间的转换是进程生命周期的重要组成部分。 1. 新建状态:当进程被创建...
$(document).ready(function() { var txt = $('#scrollingText'); var speed = 10; // 每秒滚动字符数 var currIndex = 0; var text = "这是向下滚动的文字..."; function scrollText() { txt.text(text....
在Java中,我们可以使用各种库,如Spring Boot或JavaFX,来构建Web应用。通常,我们会创建一个RESTful API,该API接收请求,处理数据,然后将数据以JSON格式返回。例如,你可以创建一个Servlet或者Controller方法,...
$(document).ready(function() { $('.listBoxItem').each(function() { var text = $(this).text(); $(this).text(text.replace("敏感字符", "****")); }); }); 原包含敏感字符的项目 <!-- 更多列表项... -...
这些功能可能会使用Java Swing或JavaFX库来实现。 总之,“MaquinaGomaDeMascar”是一个使用Java实现的状态机示例,它模拟了一个口香糖机的行为,涉及到状态管理、用户交互和可能的错误处理。这个项目为学习和实践...