JavaFX的问题以及解答,大部分都可以在 官方的中文JavaFX FAQ 找到,这里从其它地方收集和翻译了一些问题与解答,问答问题的人包括JavaFX开发组的工程师,架构师,执行总裁,以及Sun的CEO。这篇文章的问题与回答收集截止到 20009.2.28.
官方的中文JavaFX 常见问题列表 (http://developer.sun.com.cn/javafx/faq/)
更新版本的官方英文JavaFX 常见问题见: http://www.javafx.com/faq/
收集和翻译了一些问题与解答
1. 问题: JavaFX 正在替代 Swing 成为 Java 的客户端 UI 库吗? (参考1,2,7)
回答:不可以替代。JavaFX 是构建丰富的多场景(例如桌面、浏览器、手机和电视) RIA 的富客户端平台。然而,Swing 是一组可扩展的 GUI 组件,通过此组件,开发人员能为基于桌面的商业应用程序快速开发功能强大的 Java 前端。基于桌面环境而设计的 JavaFX 应用程序可以利用功能强大的 Swing 小部件工具包构建适宜于桌面的 RIA。
2. 问题:Applet可以嵌入在网页中,可以使用Swing,也可以实现Rich Internet Applications (RIA). 看起来JavaFX实现的功能和Applet类似,它们之间有什么区别吗?(参考2)
回答:"Applet"是一种部署模式.Applet可以用任何JVM支持的语言编写, 比如Java, JavaFX Script, Ruby, Groovy等.JavaFX 编写交互式的Applet更容易些,开发RIA应用程序比Java效率更高.
3. 问题:能否比较一下JavaFX 和Flex? (参考3)
回答:(这是一个曾在Sun JavaFX工作,现在Adobe Flex做开发的工程师的比较)
4. 问题:JavaFX 部署有几种方式 (参考4)
回答:目前可以体验的有四种
将来JavaFX TV发布后, 会多出一种针对TV的部署方式.
5. 问题:设计者如何使用JavaFX? (参考4)
回答:我们在Adobe Max的大会上介绍了JavaFX, 很多人对JavaFX很感兴趣, 也很激动, 原因有两个.
6. 问题:JavaFX 会开源吗? (参考2, 5)
回答:JavaFX有一些代码不属于Sun拥有, 所以没有办法开源. 我们正在致力与解决这部分关联, 为以后开源做准备. 目前 JavaFX compiler, Netbeans JavaFX plugin 和 Eclipse JavaFX plugin 是开源的.
7. 问题:怎么给JavaFX 发bug, 以及跟踪Bug的信息? (参考5)
回答:开发者可以登陆http://javafx-jira.kenai.com/secure/Dashboard.jspa. 来发bug, 并且跟踪Bug的解决情况.
8. 问题:JavaFX Mobiile 与JavaME, MSA的关系?(参考5)
回答:我们打算在JavaFX 支持CLDC和CDC. 理想情况下, 我们希望人们能在MSA的子集中创建JavaFX Mobile应用程序, 但对JSR135来说, JavaFX的运行环境有些苛刻. 在这一点上, 我们没有为OS创建full stack的计划, 未来也许会做. 我们打算在现在的JavaME stack中支持一部分, 这样合作伙伴可以在OS 上部署JavaFX, 比如Windows Mobile.
9. 问题:为什么为JavaFX创建新的图象格式, FXZ, FXD (参考5)
回答:设计者可以在Photoshop 或者 Illustrator中创建图象后, 转换为FXZ格式. 而FXD文件可以为FXZ文件更多功能, 比如保留层, 另外FXZ也可以处理矢量(vector)和光栅(raster). 这样可以让开发者灵活处理转换出的图象格式, 并且创建让人惊叹的视觉效果.
10. 问题:如果我创建了一个JavaFX Applet和Server进行通信, 如果我把这个JavaFX Applet拖拽到桌面, 那么Applet和Server之间的通讯会中断吗? (参考2)
回答: 拖拽到桌面的Applet依然是Applet, 仍旧在Sandbox中运行, 依然缓存在Applet Chche中. 因此, Applet和Server间的通讯仍然工作. 只是, 你可以为拖拽动作增加一些代码, 来完成一些特殊的功能.
11. 问题:JavaFX是在JRE中, 还是需要单独下载? (参考2)
回答:我们没有任何计划要把JavaFX加到JRE中. JavaFX会在需要的时候下载, 然后缓存在本地.
12. 问题:JavaFX最终会采用本地以及跨平台的音频视频播放器. 而目前的跨平台部分是由ON2发行的,是否这部分将来都会用纯Java写? (参考2)
回答: 在目前的JavaFX框架中, 音频视频的解码是由ON2提供的优化后的本地库, 用Java 2D做润色, 并且库作为JavaFX运行环境的一部分发行. 将来如果Java的效率允许,我们会转到用Java写解码器.
13. 问题:音频视频的跨平台是否意味着JavaFX只支持标准的格式,比如MP3, AVI, Flash, 以及需要访问本地库的WMV? (参考2,5)
回答: 跨平台需要本地支持. 例如, 在Windows中, 你可以播放任何Directshow支持的音频视频格式. 在Mac上, 你可以播放任何Quicktime支持的. 但跨平台, 我们是指在所有的平台上支持可以工作在JavaFX的媒体文件。目前JavaFX只支持On2的TrueMotion Codecs. 我们会继续研究其它跨平台的媒体格式, 另外也会参考OMS (开放的媒体编码解码项目 http://blogs.sun.com/openmediacommons/entry/oms_video_a_project_of)
14. 问题:如何将现有的Java企业应用程序移植到JavaFX上?(参考1)
回答:JavaFX适合开发客户端GUI, 你可以把原有的Web界面改为JavaFX开发的RIA, 而Server端的仍采用Java.这样也可以保护你原来的投资.
参考:
1. http://www.pushing-pixels.org/?p=312
2. http://java.sun.com/developer/community/askxprt/sessions/2008/jl0818.jsp
3. http://tech.groups.yahoo.com/group/flexcoders/message/130608
4. http://javafx10-launch-dec08.eventbrite.com/
5. http://blogs.sun.com/meetjeet/entry/javafx_the_road_ahead
7. http://developer.sun.com.cn/javafx/faq/
8. http://blogs.sun.com/javafx/entry/a_word_on_linux_and
9. http://blogs.sun.com/jonathan_zh/entry/javafx_下载量突破一亿