移動開發新寵:Lua語言
當移動開發成為如日中天的技術話題,這必將帶動一些新的技術熱點的興起,之前并未廣泛應用的Lua語言,因其靈活、輕量、高效的效率成為iSO平臺上的新寵。

TIOBE編程語言流行度排行榜的統計數據來源于Google、Bing、Yahoo!等主流搜索引擎,以及各大技術網站發布的招聘信息,在很大程度上代表了編程語言的流行趨勢。在本月的TIOBE編程語言排名中,Lua語言第一次進入了排行榜的前十名。
輕量級腳本語言Lua在開發者中正變得越來越流行,這與移動應用開發的升溫密不可分。以iPhone為代表的移動平臺,為不少開發者提供了新的應用展示空間,也為支持iOS系統的應用開發帶來了巨大商機。包括大獲成功的游戲《憤怒的小鳥》在內,不少iPhone和iPad流行應用都使用了Lua作為游戲腳本。
Lua語言最大的優勢在于其輕量級腳本和高效的運行效率,這一得天獨厚的優勢讓Lua在以娛樂和用戶體驗而著稱的iOS系統之上大有用武之地。
小巧的Lua語言來自于巴西里約熱內盧天主教大學于1993年啟動的實驗性項目。Lua語法簡潔優美,解釋器由標準C編寫。以快速小巧著稱的Lua擁有在目前所有腳本引擎中最快的運行速度,這樣的特性讓Lua成為用作嵌入式腳本的最佳選擇。
Lua代碼幾乎能在所有操作系統和移動終端上編譯運行,同時Lua提供了LuaJIT項目(http://luajit.org/),針對特定目標平臺為開發者提供即時編譯功能,進一步增強Lua的執行效率。
Lua的設計初衷并非意圖構建完整的應用,而是嵌入在應用程序中為應用提供靈活的擴展和定制功能,所以Lua僅提供了基本的數學運算和字符串處理等函數庫,而并未涵蓋程序設計的方方面面。
在語言兼容性上,Lua一開始就瞄準了具有廣泛應用場景的C和C++,讓C/C++編寫的代碼可以很方便地調用Lua腳本,同時C/C++函數也能夠在Lua腳本中調用。與C/C++代碼的良好交互性,讓Lua在應用程序開發中有著廣泛的應用基礎。
Lua最流行的應用場景是在游戲中作為處理邏輯的腳本,即用來編寫游戲的任務腳本,以實現游戲的可配置性和可擴展性。在游戲中Lua腳本的加載不需重啟服務器,盡管腳本的運行效率低于編譯好的二進制代碼,但目前CPU速度已完全能夠讓Lua腳本迅速解釋執行。
在以《魔獸世界》為代表的網絡游戲中,幾乎所有的插件都是使用解釋性的腳本Lua編寫,核心的C++代碼只占全部代碼中的很小一部分比重。
目前Lua語言的最新版本是5.2 Beta,如果你也準備在移動應用開發中嘗試嵌入Lua腳本,在熟悉語法之后,便可移步Lua開源項目站點luaforge.net或Lua開發者站點lua-users.org的Wiki庫,下載感興趣的Lua程序腳本,開啟Lua腳本的學習之旅。
電子商務領域,各種時髦概念名詞總是層出不窮。繼B2B、B2C、C2C之后,O2O(Online-to-Offline)作為一種新誕生的電子商務模式,一夜躥紅并受到各方追捧。
O2O反映了互聯網商業模式的一個趨勢,就是從線上走中國標準化研究院助理研究員,從事信息技術標準化研究工作。
本文作者:高昂,關注開源社區,也是OSGeo中國和InfoQ中文站成員。