首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

挪动跨平台开发中使用Lua实现业务逻辑多平台重用

2013-03-27 
移动跨平台开发中使用Lua实现业务逻辑多平台重用移动跨平台开发中使用Lua实现业务逻辑多平台重用@authorAn

移动跨平台开发中使用Lua实现业务逻辑多平台重用

移动跨平台开发中使用Lua实现业务逻辑多平台重用

@authorAnderson Mao, 2013-03-26

 

移动跨平台应用,如果不是用HTML5的Web应用,经常需要在多个客户端开发原生程序,如J2ME/Android/iOS/等。

 

一般来说会有两大类客户端代码: C/ObjectC 和 Java。

如果没有代码重用/共享,开发类似的功能,比如一个Job, 在每个平台上都需要有一个Job Service业务逻辑。

 

使用原生应用,优点是UI方面现在可以比HTML5等表现更好。(以后HTML5可能会功能增强)。缺点是需要为每个平台编写类似,但是不共用的代码,比如Job Service, 功能类似,但是有多个平台版本。

 

对于HTML5可以满足的应用,跨平台可以用类似PhoneGap框架等来实现跨平台。

对于游戏等图像操作,也可以用基于Mono的Unity3D等框架来实现跨平台开发。

 

但是,对于业务逻辑比较复杂的其它应用,HTML5的UI效果又达不到要求,需要原生UI的,则可以考虑在业务逻辑层共享代码。

 

结构:

 挪动跨平台开发中使用Lua实现业务逻辑多平台重用

特点:

    客户端UI代码使用原生代码,每个平台独立编程。客户端业务逻辑代码,全部使用Lua语言实现,每个平台嵌入Lua引擎,Lua业务逻辑代码只有一套,多平台重用。比如Job Service, 用Lua实现,多平台重用。

 

优点:

客户端UI 可以用原生做到性能最好客户端业务逻辑多平台重用Lua业务逻辑代码可以在PC上直接测试。(不需要客户端和模拟器)Lua语言和引擎小巧使用广泛比较稳定可靠。

 

缺点:

需要学习Lua, 在多平台上配置嵌入Lua环境.

 

问题:

 

Q: 可不可以用JavaScript 引擎替代Lua?

A: JavaScript引擎也可以被嵌入,但是相比Lua体积太大,JavaScript功能主要是操作DOM方面比较方便,但是写业务逻辑Lua应该也可以胜任。

 

Q: Mono 平台也可以跨平台使用,用C#实现业务逻辑重用,然后也用原生做UI,相比Lua是不是更好?

A: Mono平台本身的以后发展可能是一个问题。另外如果以前没用过C#,也需要学习C#。

 

参考:

Lua: http://www.lua.org/

Calatrava:自由构建UI的跨平台移动框架(使用JavaScript开发重用业务逻辑) http://www.infoq.com/cn/articles/calatrava


热点排行