iOS中Lua腳本應用筆記二: 關於Lua在iOS的使用


1. 在App中引入腳本的原因:

    如何處理UI變化

    如何處理邏輯變化 

    如何解決數據源不靈活的問題

    Objective-C語言的問題是其是編譯執行的

 

2. 為什么選的是Lua

    設計目標:嵌入到應用程序中(嵌入式腳本)

    體積小:100-200K

    最快的腳本語言(非JIT)

    API簡潔

    動態語言

 

3. 使用Lua開發應用的模式:

    A. Lua作為配置文件, 為宿主語言應用提供參數(有點像數據源?);

    B. 宿主語言作為底層庫,Lua作為邏輯描述。

 

4. 什么是Lua

    Lua屬腳本編程語言,於1994年由巴西里約熱內盧天主教大學的研究人員設計開發,"Lua"為葡萄牙語單詞"月亮"

    與PHP、Perl、JavaScript不同,Lua被稱為嵌入式腳本語言 , 最著名的應用是在網絡游戲《魔獸世界》中

    最引入注目的特點:以極小體積和簡單的語法提供相對全面的功能;以簡潔的API實現與宿主語言最方便的接口。

 

5. 為什么稱為"嵌入式"?

    最典型用法,作為一個庫,嵌入到其他大型語言(稱之為宿主語言)的應用程序之中,為應用程序提供參數配置或邏輯描述等功能,帶來前所未有的靈活性。

    Lua常見宿主語言有:C/C++, Java, .NET, 甚至其它腳本語言如PHP, Ruby等。

 

6. Lua工作流程:

    Step 1 : 宿主語言建立Lua解釋器對象。

    Step 2 : 將宿主語言實現的Lua擴展(若有),如函數等,注冊到Lua解釋器中,供其使用。

    Step 3 : 讀入Lua source code或者預先編譯后的Lua程序(可以從文件、字符串、網絡等任意來源)。

    Step 4 : 執行讀入的Lua程序。

 

7.  Wax框架及其本身的一些問題

    https://github.com/probablycorey/wax/

    設計目標:使用Lua開發應用

        Objective為Lua提供庫

        只提供單向的輔助函數: Objective-C -> Lua

        只提供一個lua_State

    對Wax做了部分修改

    其他的一些庫:

        Lua-Objective-C-Bridge

   LuaCocoa

 

大量應用商店使用Lua語言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM