JavaFX 是SUN公司在2007年JavaOne大会上首次对外公布的以Java为基础构建的富客户端平台,更让开发者印象比较深刻的则是其背后的JavaFX开发团队,仅仅在两年的时间就从1.0版本完善到1.3.x版本,不但增加了很多新功能,在性能方面也有了很大的提升。

当Oracle收购Sun后,就宣布停止支持JavaFX脚本语言,进一步把它的API整合到Java里面去,后面的版本当中也默认捆绑了JavaFX。在JavaOne 2011大会上,Oracle也向公众表示的开源计划也实现了。

由此可见,在移动互联网的时代,Oracle已经认识到了RIA技术的重要性,想把JavaFX打造成Flash和Sliverlight这样的顶级产品。但是对于RIA,Java还是新手,想撼动Flash占据部分的份额显然是很难的。不过凭借着Java众多开发者的力量,作为通用的开发语言,对抗FLASH的ActionScript还有有很大的优势。小编在知乎上曾看见过某位大神对Java FX的评价还是比较客观的:

(1)Java技术是开源的,从开发工具(Eclipse,netBeans),到无所不包的开源类库。Flash、Silverlight就不一样了。

(2)跨平台。如果你明白微软的策略,就不会押宝在silverlight上了。微软最终不会支持跨平台的,只会跨windows平台,提出跨平台只是为了搅局。还好大家都不再吃那一套了。

(3)Java作为一门通用的开发语言,是Flash的ActionScript无法比拟的,类库全(数据库、网络、IO等等),强大免费的开发工具,不仅仅在浏览器里跑(虽然Air也可以,但没有大型的程序用Air吧,Java典型的应用就是Eclipse netBeans)。JavaFx正在弥补图形处理方面的不足(这是Flash的强项,JavaFx已经开始支持硬件加速了),但是Java的强项Flash很难复制。

在今年3月份JavaFX伴随着甲骨文Java 8的推出以其组件形式完成了又一次更新。不过很多人对于这项技术的未来前景以及影响力提出了质疑。

Oracle公布的开源JavaFX 8拥有UI控制、嵌入式图形堆栈、现代主题、3D图形处理再加上HTML 5支持等多项功能特性。其工具集在设计思路上专注于性能与图形,且能够在嵌入式系统之上顺畅运作。

不过Forrester研究公司分析师John Rymer对于JavaFX的生命力并不看好。“我们并未看到市场对于JavaFX所抱有的深厚兴趣,”他指出。“Java 8——很好,但JavaFX完全是另外一回事。在我看来,JavaFX恐怕太孱弱也太迟钝。JavaFX当初就没能完成Sun公司为其制定的预期发展目标,而这也使得Java成为Web客户端以及移动开发领域的顶级环境。(出自:infoworld

事实上,HTML 5、谷歌Android(本身就基于Java)以及苹果iOS等平台已经成为移动开发领域最为显赫的名号。类似于Adobe Flash与微软Silverlight,JavaFX已经被逐出核心舞台、被迫充当新时代下的龙套角色。不过它也拥有自己的支持者群体。在咨询与软件开发企业Welland公司中,技术人员一直利用JavaFX对负责数据库间数据迁移工作的桌面应用程序进行更新。JavaFX能为应用程序带来更具现代特色的外观,Welland公司高级软件工程师Cole Markham指出。“就个人经历来说,我所交流过的技术工作者中有很多都对JavaFX抱有兴趣,但这仅限于Java社区之内。”Markham还将JavaFX视为Swing GUI技术的继任者。

不过451研究公司分析师Michael Cote认为,JavaFX是一种已经衰落的丰富互联网应用(简称RIA)技术。“我觉得RIA的时代早就已经过去,现在已经是所谓智能手机与平板设备的时代了。HTML 5、Android以及最不能忽略的iOS才是真正的赢家。”他把JavaFX视为与Flash及Silverlight相近的即将过气平台,并指出indeed.com网站上的一幅图片显示、JavaFX程序员自2013年一月起就普遍处于无事可做的状态:

图片来自 indeed.com

甲骨文已经验证了JavaFX在Android与iOS平台上的可行性,尽管Java运行时本身在iOS设备上不受支持。不过Rymer认为甲骨文也已经感受到了JavaFX所受到的冷遇。虽然Java被广泛应用于移动及多通道应用程序的服务器端,但其在客户端上的普及程度还相当低下。甲骨文目前正努力在这方面推动JavaFX与Java ME(即Micro版本)的表现,Rymer指出。“虽然取得广泛成功的可能性确实不主,但软件行业的事确实很难说得准。”

最后小编认为,虽然说现在大部分主流厂商都在极力推广HTML5,但是新技术总是要花一段时间来完善的。就目前趋势来看,JavaFX或许无法跟FLASH和HTML5相比,但是JavaFX依然还是很年轻,未来的路还是很长,在不断的优化和改进的过程中,也许会在Java开发者心中占有一定的位置。

java系列: 对不起,JavaFX——Java 8目前还不能救你(zz)的更多相关文章

  1. 【转载】Java系列笔记(1) - Java 类加载与初始化

    Java系列笔记(1) - Java 类加载与初始化 原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 ...

  2. 【转载】Java系列笔记(3) - Java 内存区域和GC机制

    Java系列笔记(3) - Java 内存区域和GC机制 转载:原文地址http://www.cnblogs.com/zhguang/p/3257367.html 目录 Java垃圾回收概况 Java ...

  3. Java系列笔记(2) - Java RTTI和反射机制

    目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...

  4. Java系列笔记(3) - Java 内存区域和GC机制

    目录 Java垃圾回收概况 Java内存区域 Java对象的访问方式 Java内存分配机制 Java GC机制 垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection, ...

  5. Java系列笔记(1) - Java 类加载与初始化

    目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...

  6. Java系列,《Java核心技术 卷1》,chapter 13,集合

    13.1.2 Java类库中的集合接口和迭代器接口     删除元素,对于next和remove的调用是互相依赖的,如果调用remove之前没有调用next,则会跑出IllegalStateExcep ...

  7. java系列:《java核心技术 卷1》学习笔记,chapter 11 调试技巧

    11. 6 调试技巧 1)一个不太为人所知却非常有效的技巧是在每个类中放一个main方法,这样就可以对每个类进行单元测试.这个方法可以保留,因为在java虚拟机只调用启动类的main方法. 2)   ...

  8. Java系列:关于Java中的桥接方法

    这两天在看<Java核心技术 卷1>的泛型相关章节,其中说到了在泛型子类中override父类的泛型方法时,编译器会自动生成一个桥接方法,这块有点看不明白. 书上的例子代码如下: publ ...

  9. Java系列:《Java核心技术 卷一》学习笔记,chapter11 记录日志

    11.5 日志记录 可以通过Loger.getGlobal().info(xxxx);的方式来记录log. 11.5.2 高级日志 1)通过一个包名来 创建一个新的日志记录器. private sta ...

随机推荐

  1. 谷歌浏览器 模拟微信浏览器user-agent

    1.F12    2.Elments->Emulation Media: Other Network:Mozilla/5.0 (Linux; Android 4.4.4; HM NOTE 1LT ...

  2. VMware虚拟机网络环境类型

    0x01. VMware Ubuntu虚拟机网络环境 ① Bridge桥接模式:虚拟机与物理机的IP同在一个网段:虚拟机独立且地位与物理机相同:虚拟机可直接访问物理机以及物理机相连的外部网络的主机或网 ...

  3. spinner下拉列表

    xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:l ...

  4. Eclipse中使用Git-让版本管理更简单

    详细步骤: 第一部分  GIT介绍 (1)GIT往世今生 2005年开发Samba的Andrew试图破解BitKeeper(一款商业的版本控制系统)的协议(这么干的其实也不只他一个),被BitMove ...

  5. 面向对象and类

    类和对象: 1.什么叫类:类是一种数据结构,就好比一个模型,该模型用来表述一类事物(事物即数据和动作的结合体),用它来生产真实的物体(实例). 2.什么叫对象:睁开眼,你看到的一切的事物都是一个个的对 ...

  6. 本地数据下,radiobutton和图片组合,利用adapter+listview进行单选

    浮生偷得半日闲,等接口定义的过程中,重新复习下adapter+listview实现单选的方法 主界面 <RelativeLayout xmlns:android="http://sch ...

  7. yum 安装包的用法

    最近刚爆出linux下glibc有重大漏洞,修复方案为升级glibc库 RHEL/CentOS下一键即可修复 : sudo yum update glibc .或者如果本地有rpm包 直接 rpm - ...

  8. elastic search查询命令集合

    Technorati 标签: elastic search,query,commands 基本查询:最简单的查询方式 query:{"term":{"title" ...

  9. On Perseverance

    Brothers,I dont consider that I have made it my own.But one thing I do:forgetting what lies behind a ...

  10. 二分+DP HDU 3433 A Task Process

    HDU 3433 A Task Process Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/ ...