Lua語言SDK庫Corona的優(yōu)與劣
原創(chuàng)我們今天介紹了移動開發(fā)新寵:Lua語言,就這篇文章說的Lua代碼幾乎能在所有操作系統(tǒng)和移動終端上編譯運行,而我們介紹過Lua語言在iOS上開發(fā)的Wax框架。本文我們介紹Lua語言SDK庫Corona,有了Corona SDK以后Lua語言就可以支持iOS和Android平臺了。如果你正在使用或者打算使用Corona SDK,這篇文章將對有很大幫助。
首先是Corona SDK的優(yōu)點:
◆穩(wěn)定
◆支持硬件加速、GPS、指南針及照相機等
◆支持與Map、Facebook、OpenFient、GameCenter的集成
◆內(nèi)建的物理集成
◆Lua語言比較容易學(xué)習
◆已經(jīng)有了一些很不錯的應(yīng)用,至少能夠證明這個SDK是可以做出優(yōu)秀應(yīng)用來的
◆不錯的社區(qū)支持
然后是Corona SDK不太好的地方:
◆只支持iOS和Android
◆Lua語言不是面向?qū)ο蟮?/p>
◆每年都要交授權(quán)費
◆Android支持還有太多BUG
另外還有其他的一些補充,比如:
◆對于Corona SDK不支持的第三方SDK沒法自己去集成
◆編譯項目的時候需要把代碼上傳到Corona的服務(wù)器上去編譯,不能在本地直接編譯
◆無法擴展Corona的功能,而官方的更新速度又太慢。這是反映的最多的一個問題
◆物理模塊還有一些缺陷
相對來說,新的Monkey SDK對這些缺陷就有了很大的改進,比如更廣泛的平臺支持,比如很方便的Native Code集成,比如只需要購買一次授權(quán),比如完全面向?qū)ο蟮腂liz腳本語言,等等。下面我們來介紹一下Lua+Corcna SDK庫開發(fā)Android或iPhone客戶端應(yīng)用。
一、開發(fā)語言的選擇
iPhone有Objective-C
Android用Java的多
但是大家可以看看程序語言的排名,Lua這個巴西人發(fā)明的本來專門用于嵌入式開發(fā)的語言,現(xiàn)在大行其道。已經(jīng)排名到了前10位,而Ruby在11位左右。
二、SDK庫的選擇
實際上為什么Lua為什么如此之牛,關(guān)鍵在于一個SDK庫的出現(xiàn),就好像Rails的出現(xiàn)激活了Ruby一樣。這個SDK庫的出現(xiàn)激活了Lua。
它就是與我們常在酒吧中點的啤酒-可羅拉的名字一樣:Corcna。
Corcna還包含一個pc機上使用的手機模擬環(huán)境。
好了大家將Lua的開發(fā)環(huán)境、Corcna 這個SDK庫下載安裝吧。
Lua+Corcna的環(huán)境好了之后,你就可以一次編寫,可以將應(yīng)用放在iPhone或者Android上了。
速度嗎,據(jù)說沒問題。
三、創(chuàng)建***個hello程序
實際上SDK就是提供了各類環(huán)境的庫函數(shù)。
Corcna就是基于手機的庫函數(shù)(我估計它囊括了Android和iPhone,在編譯之后,可以智能的使用相應(yīng)的庫函數(shù)。 )
隨便使用一個編輯器,notepad++有Lua的syntax,識別Lua代碼。鍵入如下代碼:
- local textObject = display.newText( "Hello World!", 50, 150, native.systemFont, 24 )
- textObject:setTextColor( 255,255,255 )
另存為:main.Lua,main是入口。
好了,我們使用Corcna模擬器運行這個代碼,即可完成。open ,main.Lua 即可。這時候hello world 已經(jīng)顯示在模擬的手機屏幕上了。