转载地址:http://mobile.csdn.net/a/20110708/301328.html
当移动开发成为如日中天的技术话题,这必将带动一些新的技术热点的兴起,之前并未广泛应用的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脚本的学习之旅。
本文作者:高昂,关注开源社区,也是OSGeo中国和InfoQ中文站成员。
分享到:
相关推荐
《罗布乐思开发官方指南:Lua 语言编程》读书笔记模板x.pptx
这是书籍 Cocos2d-x实战:Lua卷(第2版)的代码,关东升老师的,这里分享出来。除了章节的小示例代码外,还有一个《迷失航线》的游戏示例代码。这是一个下载地址。
Nginx实战:基于Lua语言的配置、开发与架构详解
表情符号 :speech_balloon:Lua的基本表情符号支持模块 :crescent_moon:例子 local emoji = require ( " emoji " )print (emoji. emojify ( " I :heart: :tea:! " ))-- > "I :red_heart: :teacup_without_handle:!...
lua5.3(32位/64位)windows 预编译(exe/DLL) adding: lua5.3.5-x86/lua.exe (in=14336) (out=7311) (deflated 49%) adding: lua5.3.5-x86/lua.o (in=24873) (out=9654) (deflated 61%) adding: lua5.3.5-x86/lua...
lua-lsp:Lua语言服务器
脚本引擎内核源代码之:Lua-5.1,内附《Win下编译步骤.txt》
lua-language-server:Lua编码的Lua语言服务器
ltreesitter:Lua语言的独立树保存程序绑定
LuaCV 是 Lua 语言的 OpenCV 库包装器。 主要目标是访问快速图像处理库到轻量级、非类型语言。 由于 CMake 项目在 OpenCV 支持的许多操作系统平台下更容易编译它。 LuaCV 正在捷克共和国布尔诺理工大学电气工程和...
详细描述了Lua语言的架构设计,包括指令集,虚拟机等。
老树新花:Lua在聚划算App动态化中的应用(33页).pdf
主要介绍了Lua教程(一):Lua脚本语言介绍,需要的朋友可以参考下
lua:一个交互式解释器工具,支持脱离宿主应用环境的简单脚本独立执行。 PS : Lua版本 5.2.1 是我从http://www.lua.org上到的目前最新的版本 PSPS : 如果不想自行编译Lua库及工具。可以下载一个Windows上预编译好的...
lua 语言源代码,lua 语言源代码
本文件包括Lua5.1的《Lua Programming》第二版的中文版、英文版以及Lua5.1的中文手册。
bstree是 Lua 源代码混淆器。 它分析源代码中的 Lua 文件并输出编码器和解码器。 BS 代表 Bit Stream 或 Bull Shit,取决于你的心情。 用法 $ lua bstree.lua <input.lua>+ 此命令将分析所有给定的 Lua 文件...
茴香:Lua Lisp语言
C++ lua Kaguya 应用
a utf-8 support module for Lua and LuaJIT 源码地址:https://github.com/starwing/luautf8 编译后可用的库: Linux版:lua-utf8.so Windows版:lua-utf8.dll(若是用在openresty中,openresty版本需使用32位版本...