移动开发新宠:Lua语言

移动开发 iOS
TIOBE编程语言流行度排行榜的统计数据来源于谷歌、Bing、Yahoo!等主流搜索引擎,以及各大技术网站发布的招聘信息,在很大程度上代表了编程语言的流行趋势。在本月的TIOBE编程语言排名中,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中文站成员。

责任编辑:佚名 来源: 《程序员》
相关推荐

2012-03-06 08:47:40

Corona

2012-02-27 09:20:43

Julia编程语言

2011-05-12 17:13:06

移动网站标记语言

2010-07-30 09:09:07

JVM动态语言Groovy

2013-12-12 15:59:23

Lua脚本语言

2020-02-17 09:42:09

编程语言JavaWindows

2012-11-16 13:55:04

线下渠道连锁卖场运营商网点

2016-12-26 17:53:05

Java开发者编程语言

2017-02-05 16:00:35

Java编程语言

2011-08-25 15:51:10

Lua脚本

2017-01-15 17:48:04

Java开发者编程语言

2011-06-21 09:28:52

Wax下载WaxLua语言

2011-06-20 09:09:45

WaxLua语言愤怒的小鸟

2011-06-22 13:13:33

Lua

2011-08-24 14:26:08

Lua游戏脚本

2011-08-22 17:41:23

LUA 脚本 语言

2011-09-06 17:45:14

LUA开发环境Decoda

2011-06-22 14:11:47

Flash

2011-08-22 18:00:53

Lua语言

2011-08-24 17:15:33

Lua源代码文件
点赞
收藏

51CTO技术栈公众号