在JVM平臺并入Oracle產(chǎn)品線后,Oracle將對JVM平臺進行多項改進和調(diào)整。內(nèi)容包括增強平臺的模塊化和集成性等特征、為Java SE增加多核處理支持,在Java ME中增加多點觸摸支持等。與此同時,Oracle開發(fā)部副總裁Adam Messinger在Qcon開發(fā)大會上透露,Oracle計劃在提供免費版JVM基礎(chǔ)上新增收費版本,在收費版JVM里整合HotSpot JVM與JRockit JVM,為高端用戶提供功能更為強大的解決方案。
對開發(fā)者來說,無論Oracle策略如何,JVM平臺依然有著巨大的吸引力。依托于JVM平臺的動態(tài)語言,始終保持著蓬勃的生命力。在這些動態(tài)語言中,能夠同時兼容Java虛擬機和.Net CLR通用語言運行時的Fantom,是其中極具特色的動態(tài)語言。
Fantom最初被稱為Fan語言,由于定名為Fan不易檢索,開發(fā)者在09年11月份將當時新發(fā)布的版本定名為Fantom語言。Fantom使用與BSD 類似的Academic Free License 3.0開源協(xié)議授權(quán)。
Fantom的開發(fā)者將其設(shè)計為一門實用且有趣的腳本語言,來解決Java和C#編程中實際存在的問題,降低開發(fā)者編碼的難度。Fantom語言最 大的特點是它的可移植性,F(xiàn)antom代碼能夠無縫的在Java VM和.NET CLR平臺之間進行遷移。為了保證平臺間的順利移植,F(xiàn)antom代碼首先被編譯為fcode,即一種字節(jié)碼表示法,之后轉(zhuǎn)換成為Java字節(jié)碼或IL解 釋語言,轉(zhuǎn)換的過程在程序運行時完成,開發(fā)者可以以單個文件的形式在虛擬機中部署Fantom代碼模塊。
對于Java VM和.NET CLR平臺切換時的API調(diào)用,F(xiàn)antom給出了簡便易用的解決辦法。Fantom提供了一組與Java 和.NET API配合使用的API接口供開發(fā)者使用,來屏蔽不同平臺間對于系統(tǒng)API調(diào)用的差異。
當然,F(xiàn)antom語言的可移植特性不僅限于Java和.NET平臺,F(xiàn)antom支持將代碼編譯為JavaScript腳本供開發(fā)者在瀏覽器端使 用。Fantom語言從一開始就為跨運行時的編程而設(shè)計,在未來的規(guī)劃中,F(xiàn)antom語言還將支持iPhone的Objective-C語言,以及LLVM集成編譯環(huán)境或集合了Python與Perl語言優(yōu)勢的Parrot語言。
在Fantom編程支持方面,開發(fā)者可以使用基于NetBeans Platform的IDE環(huán)境FantomIDE進行編碼和調(diào)試,IDE包含開箱即用的Fantom環(huán)境,語法和詞法解析使用開源語法分析器ANTLR設(shè)計,F(xiàn)antomIDE還提供了Javascript、CSS、HTML、XML等腳本支持以及Subversion和Mercurial等管理工具。
JVM平臺從不缺乏優(yōu)秀的動態(tài)語言,Groovy、JRuby、Jython 、Scala都是其中的佼佼者,不同語言的風格類型、運行速度和工具支持也各有千秋。Fantom以其跨運行時的特性和先進的設(shè)計理念,是否將來能脫穎而出得到開發(fā)者的認可,讓我們拭目以待。