2013-08-29 126 views
3

我要對我的新項目在哪裏工作客戶端已要求使用「的Lua」如果可能的話,我從來沒有使用過它,並通過它搜索,我發現它正迅速比較javascript和越來越流行的今天。我應該使用Lua嗎?

正如我很困惑我之前,所以從來沒有使用它,我想知道的東西

  • 難道真的好(在性能和使用方面),那麼JavaScript的?
  • 我會得到足夠的資源嗎(因爲缺乏資源,開發後我不想移動,或者我很難開發)?
  • 它需要C編譯器以外的任何東西來運行嗎?

請你們這是非常重要的知道這樣的事情在開始之前。任何幫助將不勝感激。

+2

它已經「越來越流行」至少十年了,而不是最近。是的,它更快,是的,它更精簡,是的,你只需要C編譯器。 –

+0

您能否介紹一下該項目的更多細節?這真的取決於你想要建立什麼。 – OlivierBlanvillain

+0

是的,對於你要使用'Lua'的項目,它很久以前就已經在gamedevs之中流行起來了,例如,作爲腳本工具,例如,它被外包給用戶(玩家)設計他們的遊戲寵物的「AI」。 – rook

回答

7

我假設你正在寫在C或C++一個獨立的應用程序,你正在尋找讓人們通過嵌入另一種語言來擴展應用程序的語言。這幾乎是Lua的領地。

Lua的優點就是它很容易在你的(C)應用程序中嵌入。它編譯速度很快,很小,許可是自由的,使用Lua的C函數相對容易。標準Lua對於大多數使用這種語言的東西來說具有足夠的性能;如果你需要更多的原始速度,你可以看看Lua的JIT編譯器LuaJIT

至於你的問題:

  • LuaJIT可能會非常快,你可以得到一個動態語言。 Lua被用於遊戲(Sim City,Far Cry,魔獸世界),其中性能非常重要。
  • 如果用「資源」表示文檔:當然。 Lua是一種非常簡單的語言,比JavaScript簡單得多; manual應該幫助您開始使用該語言本身,the wiki對於有關嵌入過程的提示很有用。 This article有一個示例,您可以複製/粘貼。
  • Lua幾乎可以在任何地方運行C程序。它甚至不需要操作系統,如果你正確地綁定它,它在運行時不依賴於任何操作系統。

嵌入在應用程序中一個完整的JavaScript環境,並對接您的應用程序的JS環境,可以有很多的工作(即使谷歌的V8引擎有一些功能來幫助你;看到here)。