`
javafxguy
  • 浏览: 151316 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

从冬奥会官网使用JavaFX说起

阅读更多


javaeye上一则关于JavaFX在冬奥会网页上使用的消息激起千层浪。我也说说个人的看法。

 

在这个冬季,风景秀丽的温哥华分外热闹,因为她即将迎来2010年冬奥会的举行。当然,我们关心的倒是另一个热点,JavaFX在冬奥会官网上的应用。这很可能是JavaFX首次在大型公众网站上露面。在网页上面采用了JavaFX的富客户端来呈现历届冬奥会的奖牌情况,当中包含了不少JavaFX的特色功能,如动画,特效等。

 

这里要先说说一点背景。Sun Canada是本次冬奥会的服务器赞助商,JavaFX是“官方指定的富客户端平台”(官网原文:Sun's JavaFX platform is the Official Rich Client Technology for the 2010 Winter Games.)。所以说本次冬奥会网站“大胆”采用JavaFX,多少和Sun商业影响有关吧。

 

言归正传,从技术上讲,这个JavaFX的程序是以Applet形式运行的。Applet是伴随着JAVA一起诞生的技术,现在的Browser基本上都是通过Java Plug-in的方式来运行Applet了,也就是我们在页面上看到一个转动的Java图标的原因。要运行JavaFX的Applet,首先需要从javafx.com下载一个js脚本,然后启动JVM,再从web服务器载入相关应用的Jar文件和JavaFX平台的Jar文件,最后才是启动Applet。从这个过程可以看出,消耗的时间主要有2部分:一是JVM的启动时间,另一是在网络上的下载时间。前者取决于内存大小以及CPU和硬盘的速度;后者主要由网速决定,注意网速是指国内到北美网站的速度,因此象教育网等国际出口比较慢的网络,效果往往不好。如果觉得自己的机器等了很久才看到JavaFX的程序,可从上述2方面找原因。本人先用的是网通512K ADSL,一台笔记本2GB内存,单核CPU,首次运行大约45秒看到画面,第二次运行大约需要10秒(因为有了Cache)。然后又换了一台Mac的较快双核笔记本,得到类似的结果,看来网络才是决定因素。大家抱怨最多的问题除了慢之外,还有就是"根本看不到东西"。不用说了,肯定是Java(JRE)环境不具备造成的,需要装个较新版本的JRE/JDK.

 

从制作水平上看,开发人员还是比较成功的发挥了JavaFx的特点,体现了富客户端的作用。稍微不足的是某些动画移动不够流畅。大家会很自然的拿JavaFX和Flash来比较,结论基本上就是“没法比”,JavaFX被批的一无是处。这种比较应该说是不太公平的。Flash毕竟是成熟的技术,JavaFX与之相比就如同婴儿和成人比赛跑步一样。例如,Flash基本上都预装在浏览器里了,而Java Plug-in或者JavaFX平台文件基本上没有预装的可能,易用性方面自然就大打折扣。有趣的是,国外用户的评论要比国内用户的正面一些。或许他们的网速比我们好,又或许对Java的认同度高,再有就是他们对新技术可能更宽容些。

 

总的来说,JavaFX在富客户端上还有很长的路要走。希望冬奥官网是JavaFX应用的一个良好开端。

 

附:
冬奥官网JavaFX连接,多点击页面中的各个部分,你会发现许多可以互动的地方:
http://www.vancouver2010.com/olympic-medals/geo-view/

 

 

其他连接:

JavaFX Guy博客  JavaFX Center Articles

JavaFX 技术博客  NetBeans 6.8的新功能   JavaFX Games  JavaFX Technologies Compare and Review

 

NASCAR Diecast     Air Conditioning Parts

 

 

2
1
分享到:
评论
4 楼 javafxguy 2009-12-23  
@chenweionline: 内幕消息倒没有,基本上都是公开信息。JavaFX 1.3正在发布前的最后定型之中。下一版可能会包括JavaFX for TV。美工人员的authoring工具可能还要比1.3还要晚些发布。

因为Sun正处于被收购的最后阶段,估计1月份会完成收购。到了Oracle之后才有可能有比较清晰的roadmap.
3 楼 chenweionline 2009-12-23  
楼主是在Sun工作吗?仿佛了解不少JavaFX的内幕,不知道是否了解JavaFX接下来的发展路线,特别是关于移动平台和提供给美术设计人员使用的设计工具。官方的信息发布太缓慢。
2 楼 javafxguy 2009-12-23  
由于JavaFX是client端技术,因此和server端的struts,spring几乎没有冲突,可以并用。但是由于struts等主要是面向html的,而JavaFX是以RESTful方式为主,因此两者如果要对接,一般要做些转换。

关于发布JavaFX应用的方式,可以参考这里(英文):
JavaFX How-Tos

里面有一个栏目是介绍各种部署方式的:

http://javafx.com/docs/howto/Deployment-Tutorial.jsp

其他参考:
JavaFX技巧介绍
1 楼 不复记忆 2009-12-23  
我想问一下,javafx做好了之后怎么能发布到自己的做的web应用上呢,就是类似冬奥会这样的网站。是否支持现在流行的框架,如struts,spring等,如果支持,该怎么配置呢?谢谢。

相关推荐

    Java大作业,仅使用JavaFX实现了一个Mario游戏.zip

    Java大作业,仅使用JavaFX实现了一个Mario游戏.zip Java大作业,仅使用JavaFX实现了一个Mario游戏.zip Java大作业,仅使用JavaFX实现了一个Mario游戏.zip Java大作业,仅使用JavaFX实现了一个Mario游戏.zip Java大...

    在IntelliJ IDEA 中使用 Gradle JavaFx

    【标题】: "在IntelliJ IDEA 中使用 Gradle JavaFx" 【正文】: JavaFX是一种用于构建桌面、Web和移动应用的富客户端GUI平台,它提供了丰富的图形和媒体功能。IntelliJ IDEA是一款强大的Java集成开发环境,支持多种...

    使用JavaFX实现了一个Mario游戏.zip

    使用JavaFX实现了一个Mario游戏.zip使用JavaFX实现了一个Mario游戏.zip 使用JavaFX实现了一个Mario游戏.zip使用JavaFX实现了一个Mario游戏.zip 使用JavaFX实现了一个Mario游戏.zip使用JavaFX实现了一个Mario游戏.zip...

    使用javafx2搭建简单客户端嵌入浏览器项目

    有需要使用java开发客户端的,可使用该项目,该项目使用javafx实现用web技术开发客户端,该例子仅供参考学习使用(注:由于javafx已经更新本人并没有去了解新版本的javafx的使用,这个例子只举有参考作用,如果发现...

    javafx-sdk-11.0.2

    因此,从Java 11开始,如果你想要使用JavaFX进行开发,你需要单独下载并添加JavaFX SDK到你的项目中。 JavaFX提供了一系列的控件,如按钮、文本框、表格、菜单等,以及强大的图形和媒体处理能力。这些功能使得...

    java程序设计期末课设,使用javafx的俄罗斯方块小游戏.zip

    java程序设计期末课设,使用javafx的俄罗斯方块小游戏.zip java程序设计期末课设,使用javafx的俄罗斯方块小游戏.zip java程序设计期末课设,使用javafx的俄罗斯方块小游戏.zip java程序设计期末课设,使用javafx的...

    JavaFX 教程 (中文).docx

    2. Eclipse 4.3或更高版本,建议安装e(fx)clipse插件,可以从官方网站下载预配置版本,或者通过update site在Eclipse中添加插件。 3. Scene Builder 2.0或更高版本,用于设计UI。 配置Eclipse和Scene Builder: 1. ...

    javafx使用指南-目录版.pdf

    JavaFX 使用指南 JavaFX 是一个基于 Java 语言的软件平台,用于开发桌面应用程序、移动应用程序和网络应用程序。它提供了一个统一的编程模型,可以跨平台运行,具有高清晰度的图形用户界面和多媒体支持。 JavaFX ...

    javafx实现好看的界面

    在这个"javafxѧϰ"压缩包中,很可能包含了使用JavaFX开发的示例代码或项目,这些可以帮助我们学习和理解如何在实际开发中应用JavaFX来创建吸引人的图形界面。 JavaFX的核心特性包括: 1. **图形和媒体支持**:...

    使用JavaFX+构建GUI+教程

    ### 使用JavaFX构建GUI教程:深入理解声明性编程与GUI构建 #### 一、引言 JavaFX 是一款用于构建富客户端应用的强大框架,尤其适用于桌面应用开发。它提供了丰富的功能,包括支持声明性语法,这使得开发者可以更加...

    openjdk8 with javafx

    OpenJDK8 with JavaFX 是一个开放源代码的Java开发工具包,它包含了Java标准版(Java SE)的实现,以及JavaFX库。OpenJDK是Oracle JDK的开源替代品,由OpenJDK社区维护和开发,而JavaFX是构建桌面、移动和Web应用...

    javafx 整合 sparingboot mybatis

    例如,在 Gradle 中,可以使用 `javafx-gradle-plugin` 插件,并在 `dependencies` 部分声明所需的 JavaFX 模块。 3. **配置 MyBatis** 创建 MyBatis 的配置文件 `mybatis-config.xml`,设置数据源、事务管理器,...

    使用JavaFX2.0编写国际象棋游戏

    在本项目中,我们将探讨如何使用JavaFX 2.0框架来开发一款国际象棋游戏。JavaFX是一个用于创建桌面、Web以及移动设备上富客户端应用程序的强大的图形库。通过这个项目,我们可以深入理解JavaFX的基本概念,以及如何...

    javafx javafx javafx javafx

    javafx

    BUAA软件学院大二Java大作业,仅使用JavaFX实现了一个Mario游戏.zip

    BUAA软件学院大二Java大作业,仅使用JavaFX实现了一个Mario游戏 BUAA软件学院大二Java大作业,仅使用JavaFX实现了一个Mario游戏 BUAA软件学院大二Java大作业,仅使用JavaFX实现了一个Mario游戏 BUAA软件学院大二Java...

    JavaFX高级教程:JavaFX2.0的FXML语言(中文版)

    通过对比,我们可以看到,使用JavaFX编程构建的相同界面与使用FXML编写的界面相比,JavaFX代码显得更为冗长和复杂。例如,图1中的一个简单的边框布局,在JavaFX代码(Example 1)中需要多行代码来设置,而使用FXML...

    javafx显示多个窗口以及javafx多窗口之间数据交互传输项目原文件

    在JavaFX中,通常使用FXML文件来声明UI布局,而控制器类则负责处理UI的逻辑。通过`@FXML`注解,可以在控制器类中注入FXML文件中定义的UI元素,从而实现对它们的控制。数据交换可以通过控制器的公共方法实现。 7. *...

    javaFX Demo 模板案例

    本JavaFX Demo模板案例将帮助我们了解如何使用JavaFX构建一个简单的应用程序。 首先,JavaFX提供了丰富的UI控件,如按钮、文本框、标签、菜单等,这些控件可以通过FXML(FXML Layout)或纯Java代码进行布局和设计。...

    JAVAFX使用教程-使用布局窗格

    不过,更简单的方法是使用布局窗格。JavaFX SDK提高了多种布局容器类(称为窗格)来方便的建立和管理经典布局,如行、列、堆、拼贴等。由于窗口是可以改变大小的,所以布局窗格会根据其包含的结点自动修改位置和大小。 ...

Global site tag (gtag.js) - Google Analytics