haxe php,Haxe学习笔记(一) Haxe:一次编码全平台编译的神话
Haxe學習筆記(一) Haxe:一次編碼全平臺編譯的神話
一 Haxe是什么?
Haxe是開源的,它作為一門語言,基礎語法和ActionScript3基本一致。所以任何做過Flash開發的人都可以很快的上手。Haxe最獨特的地方在于他的編譯器,Haxe的編譯器能自動將Haxe代碼編譯成任何支持的目標語言,并自動輸出最終結果。這個過程非常方便,僅需一行參數不多的命令行。
Haxe這個支持列表非常豐富,C++,JavaScript,Falsh,PHP,C#,Java。加上NME模塊的支持的話,還支持iOS,Android,WindowsMobile,WebOS。編譯到不同的平臺上統統都只需要一句命令行,非常方便。
我的重點不在介紹,需要了解更多的按順序閱讀以下文章:
如果以上文章不能滿足你,請看官網:http://haxe.org
二 缺點
Haxe真要用到開發中,我接觸的不多沒有經驗,可以看下wyyayy兄的文章:
三 環境搭建
Haxe的環境搭建非常簡單,僅需一步就可以搭建好Haxe的環境。
1 下載安裝程序
PS:在Linux下可以直接apt-get安裝
2 選擇代碼編輯工具
官方強烈推薦FlashDevlop,這個IDE也是和Haxe結合的最好的,原生支持Haxe,但是只有Window版本。所以我選了一個自己喜歡的文本編輯器。
3 測試
打開命令行/終端,打入haxe測試一下。
到這里為止,Haxe就原生支持的這些目標語言了。
四 使用下Haxe
官網上有非常多的入門指引,我這里只拿C++,Flash,Java做測試。文字也會更簡單一些,需要詳細的介紹可以點下面的連接去看官網教程(英文):
0 測試代碼
我照著官網的例子制作了一個HelloWorld,并保存做了Test.hx。(注意文件名需要和類名相同)
class Test {
static function main() {
trace("Hello World !");
}
}
1 C++
編譯C++需要用到一個叫做hxcpp的模塊,如何安裝模塊呢?非常方便的有haxelib這個指令,在命令行下執行:
haxelib install hxcpp
haxelib命令會自動去haxe的倉庫中將hxcpp下載到本機的haxe模塊的倉庫內,非常方便。
PS:某些平臺上(比如mac),在安裝模塊之前需要先設置haxe模塊的倉庫路徑:
haxelib setup
安裝好hxcpp后就可以編譯成C++的程序了
haxe -cpp cpp -debug -mian Test解釋一下:
-cpp cpp指定輸出類型為C++,輸出到一個叫做cpp的目錄下
-debug可以讓我們看到trace的輸出
-main Test指定程序的入口,是類名
執行后可以在cpp目錄下找到Test-debug這個輸出的二進制文件,執行它:
第一個平臺大功告成了,其他的平臺編譯過程也是類似的過程。
2 Flash
輸出為swf是haxe最早支持的功能,它不需要任何其他模塊。
haxe -swf test.swf -main Test
解釋一下:
-swf test.swf指定輸出類型為flash,輸出成一個test.swf文件
-main Test指定程序的入口
找到test.swf用FlashPlayer或者瀏覽器打開,當然寫一個html的模板(官網教程中有),再用瀏覽器打開。下面是效果:
需要說明的是Haxe可以支持輸出成多個Flash的版本,需要在編譯命令中加其他參數。請參考官網教程。
3 Java
Java平臺沒啥特別的,和C++差不多,不過你得自己先安裝好JDK。
haxe -java java -main Test
-java java指定輸出類型為java,輸出到一個叫做java的目錄下
-main Test指定程序的入口
編譯輸出結果為java目錄下的java.jar,執行指令為:
java -jar java.jar結果:
看完了3個例子,是不是覺得Haxe非常的方便易用?
四 NME介紹
NME是Haxe在互聯網進入移動互聯網之后的產物,它本身是Haxe的一個模塊。隨著移動互聯網興起,它的發展速度很快,已經成為了Haxe的重頭戲。以至于Haxe也給他創建了一個獨立的頁面:http://www.haxenme.org
NME雖然是一個模塊,但是它的作用非常之大。NME將Haxe的代碼先編譯為C++代碼,然后將C++代碼編譯成為目標平臺的二進制文件。
NME另外一個偉大之處在于它給Haxe語言中添加了名叫nme的包(Package),這個包內部包含了非常多的Flash中的同名庫。換句話說,熟悉Flash開發的朋友們幾乎可以馬上開始開發工作。到底NME的庫和Flash有多少的相似度?我沒有具體使用過,但是這里有API手冊(http://www.haxenme.org/api/),真的非常相像。
五 NME安裝
NME模塊有獨立的安裝包,可以直接下載安裝;當然你也可以手動在之前安裝的Haxe中安裝NME模塊。在這篇文章里面我將同時介紹兩種方式。另外,windows版本的NME獨立安裝包內包含了Haxe,為保持系統簡潔,可以先把之前的Haxe環境刪除。Mac的版本沒這個問題。
1 安裝NME
A 獨立安裝包(推薦)
下載適合自己系統的安裝包,然后運行安裝,過程非常簡單。
B 在之前的Haxe環境下安裝
命令行:
haxelib install nme
因為NME的系統還依賴其他一些haxe包,所以也在這里安裝以下的包:haxelib install hxcpp
haxelib install actuate
haxelib install swf
haxelib install svg
2 安裝配置目標平臺
NME自己并不是全能的編譯器,所以它依靠各個不同開發平臺下的C++編譯器,將自動生成的C++代碼編譯為目標平臺上的執行文件。我們只需要告訴NME我們要將代碼編譯到哪里去,NME就會自動設置好一切。
依舊是命令行,編譯成Windows程序:
nme setup window編譯成Android程序:
nme setup android
編譯成ios程序:
nme setup iOS
等等......
各位感覺到Haxe的強大和方便了吧?
不過還是有一些細節需要注意:
如果目標平臺為Windows,那么會自動找到Visual?Studio的編譯器。如果你沒有安裝任何的Visual?Studio,那么NME會自動為你下載一個免費的Visual Studio C++ Express。它足夠你用了。
如果目標平臺是ios或者mac,那么會跳到XCode的下載頁面(即使你已經安裝了XCode)。你很幸運,你可以跳過到下一步了。
如果目標平臺是android,這就有點麻煩了,你需要安裝AndroidSDK,AndroidNDK,Ant,JDK,(Mac系統自帶Ant和JDK)。運行nme setup android后,會自動開始下載AndroidSDK,下載完成后自動打開Android SDK Manager工具。這個時候需要手動選擇:平臺工具,Android2.2(API 8),Extras。
下載完Android SDK后,會自動下載Android NDK。因為我是Mac系統,跳過了Ant和JDK。如果你已經安裝了Android的環境,你可以選擇跳過下載后手工輸入你的Android SDK和NDK的目錄。
到這里為止,所有的安裝和配置都已經完成了。
六 ?編譯測試
還是那我們的Test.hx來做編譯測試吧,我們現在需要一個.NMML文件來配置我們的編譯參數。
因為我沒有icon文件,所以只能先注釋掉相關的兩行,然后就可以編譯了:
iOS模擬器:
nme test sample.nmml ios -simulator
經過了漫長的編譯等待(僅第一次),如果你成功了,你可以看到iOS模擬器自動打開并運行了輸出的程序。(我看到了白屏,當我退出iOS模擬器的時候看到了熟悉的“Test.hx:3: Hello World !”)
Android:
nme test sample.nmml android經過了漫長的編譯等待(僅第一次,比iOS要慢很多),如果你成功了,并且你的手機連接到電腦上,你可以看到你的手機自動打開并運行了輸出的程序。(我看到了白屏,同時在終端中看到了熟悉的“Test.hx:3: Hello World !”)
七 結束語
在我學習Haxe的過程中,一直為開發者感到驚訝,從頭到尾我只用了不到10個haxe的指令就完成了搭建環境到可以開發的過程。它的引導功能,自動查找外部工具的功能,都幫助學習者大大縮短學習的過程。它的官網簡潔,文字精簡突出重點,指引資料很完整。
這是一個偉大的開源程序!向Haxe的作者們和社區致敬,
總結
以上是生活随笔為你收集整理的haxe php,Haxe学习笔记(一) Haxe:一次编码全平台编译的神话的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php微信小程序会话保持,微信小程序保持
- 下一篇: webbrowser抓取php网页源码,