Haxe(發音:heks,音標形式:/heks/)是一種開源的高級編程語言,被官方稱為"universal language"。Haxe可以生成多種類型的應用程序和源代碼,支持多種計算平臺,包括Flash應用和游戲、多平臺web應用客戶端、基于Apache CGI的web應用以及多平臺本地應用,如Windows、Linux、Mac OS,通過不同的SDK支持,還可生成IPhone和webOS等移動平臺應用。
Haxe起源于支持客戶端和服務器端編程的同一語言,并簡化了它們之間的通信邏輯。Haxe代碼可以編譯成ECMAScript、C++、Java、JavaOS、PHP、C?、Python、Lua和node.js等多種編程語言。Haxe還可以直接編譯SWF、HashLink和NekoVM的代碼,并運行在解釋模式。
Haxe支持外部(定義文件),這些文件可以包含現有庫的類型信息,以描述特定平臺的交互方式,就像C++頭文件可以描述現有對象文件的結構一樣。這使我們可以使用這些文件中的值,就好像它們是靜態類型的Haxe實體一樣。除了外部解決方案外,還有其他方法可以訪問每個平臺的原生能力。
許多流行的IDE和文本編輯器都支持Haxe編程。Haxe基金會并未推薦任何特定的開發環境或工具集,盡管Visual Studio Code、IntelliJ IDEA和HaxeDevelop等IDE在Haxe支持方面表現最好。Haxe的核心功能,如代碼高亮、代碼完成、重構、調試等,在各種IDE中都有所不同。
簡介
開發者稱:“相比其他語言(Java的平臺是JavaOS,C?的平臺是.Net,ActionScript的平臺是Flash Player等等),Haxe才是真正的多平臺語言。不管是開發原生iOS、Android應用,還是網頁;不論是應用于服務器還是個人桌面,Haxe都 可以勝任。”
haXe(發音如hex)是一種開源的編程語言。
haXe語言介紹:其它很多語言只能運行在它們自己的平臺(Java 運行在JVM,C#運行在.Net,ActionsScript運行在Flash Player),而haXe則是一個多平臺語言。
Haxe是一門很強力的語言,有很多引人注目的特性。目標是給開發者一套一體化的工具來創建網站或者應用,一門語言打天下。它可以實現:
ECMA風格的客戶端、服務器端以及桌面型程序。
風一般迅捷的編譯速度。
類型檢查帶來好處多多。
給特定平臺引入缺失的語言特性,例如為Flash開發引入InLining和generics特性、宏、為C++引入動態對象以及運行時類信息等等。
無視平臺差異,在不同平臺之間輕松切換。
統一的語法以及特性。
一次編寫,處處“自動”編譯。
這也就是說你可以使用haXe開發以下平臺的程序:
ECMAScript:你可以把一個haXe程序編譯成單個的.js文件。你可以使用autocompletion支持來訪問典型瀏覽器的DOM API,并且所有的依賴都會在編譯的時候被解決。
Flash:你可以把一個haXe程序編譯成一個.swf文件。使用較老的低于Flash 8的API 或新的 AS3/Flash9 的API,haXe編譯Flash 6到9 的.swf文件。haXe提供了一個非常高性能的語言去開發Flash內容。
NekoVM:你可以把一個haXe程序編譯成NekoVM的二進制代碼。這可以應用在像動態網頁的服務器端編程(使用mod_neko for Apache),但也可以用于命令行或桌面應用軟件,因為NekoVM是可嵌入的和可通過一些其它的DLL擴展的。
haXe的宗旨是讓開發者選擇一個最好的平臺去做給定的工作,做到這點并不容易,因為通常每個新的平臺的推出都帶有它自己的編程語言。
haXe可以為你提供的是:
一個帶有許多好特征的標準化語言。
一個可以工作在多個或全部平臺的標準庫(包括Date,XML,Math等等)。
不同平臺特有的庫:可以讓haXe訪問該平臺的所有API。
應用
使用Haxe開發的程序可以被編譯成:
ECMAScript:你可以將Haxe程序編譯成單一的.js文件,訪問DOM APIs并擁有“自動完成”的支持,所有的依賴都在編譯時都被搞定了。
Flash:你可以將Haxe程序編譯成一個.swf文件或者支持移動平臺的air文件包,支持從Flash Player 6到11的所有版本。
NekoVM:將Haxe程序編譯成NekoVM字節碼,用在服務器相關的程序(比如動態網頁),同時也可以用在命令行或者桌面應用中。
PHP:你可以將Haxe程序編譯成.php文件。
C++:你可以直接從Haxe源碼生成C++的code。NME庫使用這項特性在iOS和Android上直接運行Haxe的code。
C?和Java:使用 -java 和 -cs 來生成相應源碼。
參考資料 >