用lua搭一个类似浏览器的控件框架

公司要开发微博应用,除了最普通的微博功能之外,会嵌入很多运营那边的东西在里面,比如广告条之类的。

总结我们以前的开发经验,像这种经常变化的东西,我们就不能像写一般应用那样写死,而是需要一个框架来面对这种灵变需求--我们选择了页面。

这里所说的页面并不是HTML这样的页面,其实更确切的说是一个配置脚本--Lua最擅长的就是这个了。

这个配置脚本写好了放在服务器,里面数据都由后端服务生成好了,客户端发出请求后,返回一个页面(配置脚本),由客户端直接运行,将其画在屏幕上。

这种方式很方便,很灵活,以后运维若有变更,修改页面即可,客户端不做任何改动。

客户端完成了这几件事:

*定义了一套最基本的控件,如按钮、输入框、背景、文字区、单选多选、下拉列表。

用这些基本控件就可以拼出页面来。

*下载并缓存页面,添加控件到容器内

*对容器内控件进行布局(实际上我的布局很简单,仅仅是计算页面总高度)

*焦点管理

*实现导航条、左软键菜单、滚动条、图片缓存、后退等功能

此框架主要归功于Lua,用它写好的脚本可以拿来直接运行,省去了解析环节,并且Lua语法简单,稍懂编程的人很快就可以上手,所以让服务器端人员做这种页面是小菜一碟了。

----------

今天正在考虑将框架改改,加入真正的布局功能,做一套纯客户端控件,用来做其他应用。

相关推荐