LuaView 初识

本文介绍了LuaView,一种面向业务的动态化开发技术,它基于Lua虚拟机实现Native与动态脚本的交互。通过LuaViewSDK,开发者可以实现iOS和Android的跨平台动态化。文章详细讲解了LuaView的架构,包括Lua Engine、Lua-Native UI Lib和Script Manager等组件。此外,还分享了LuaView的基本用法,如创建LuaView对象、LuaViewCore的正确使用方法,以及如何处理Lua脚本的语法兼容性问题。最后,作者探讨了如何扩展和桥接自定义功能,包括通过继承和自定义类实现Native控件的扩展,以及完全自定义类的Lua环境注册。
摘要由CSDN通过智能技术生成

此篇文章为本人原创,先发布在了 我的简书 里,后来觉得还是不忍放弃自己多年的csdn,故在此也发布了。

前言

作为一名iOS开发工程师,App的动态化是一种趋势,毕竟需求的增多,频繁的提交版本、更新版本对用户体验上肯定会有影响。当然动态化的方案有很多种:RN,Weex,LuaView等。对于一个对H5、React 零基础的小白,我准备还是从LuaView入手。

什么是LuaView?

LuaView是一种运行在一个ViewController/Activity中,可以灵活加载Lua脚本,并能够按照Native的方式运行的一种面向业务的开发技术方案。

LuaViewSDK使用lua虚拟机进行脚本解析,通过构建lua与native之间的一系列基础bridge功能,从另一个角度实现了动态化的native能力。

而对于为何选用Lua,其最大的优势就是:lua语法精炼直观,lua虚拟机轻量高效,使用Native编程模式,Native开发人员容易上手。

以上很不要脸的取自其官方文档的描述: https://alibaba.github.io/LuaViewSDK/guide.html

LuaViewSDK 是阿里开源的一个实现动态化方案的框架。开源地址: https://github.com/alibaba/LuaViewSDK

目前其SDK由阿里的一个团队来维护。个人感觉推广力没有Weex高。官方文档也很久没有更新了。不过提供了一个官方技术交流群:539262083 。

LuaViewSDK的整体架构



上图是LuaViewSDK的架构:(由下往上)

Native  & Framework :表示了Android、iOS及其对应的框架层。

Lua Engine:即Lua虚拟机,Android对应LuaJ,iOS对应LuaC。作为lua脚本和nati语言之间的桥梁,将lua脚本翻译成native能够识别的目标语言。

Lua-Native UI Lib:LuaView的核心组件。其实LuaView对Native的各种UI组件进行了再次封装,并且注册到了Lua环境中,Lua脚本可以直接创建和操作这些组件,来达到创建和控制Native组件。(其实查看SDK源码,会发现,不仅封装了UI组件,还有一些方法类,如Timer,Gesture等)。

Script Manager:Lua脚本管理器,用于脚本的解压、验证、加解密、解压缩等工作。

Security:Lua脚本的校验工作(完整性和安全性的校验)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值