Lua+wax在ios上的应用 白 衣.

Slides:



Advertisements
Similar presentations
2013/8/27 財政部中區國稅局彰化分局 營利事業所得稅決清 算媒體申報作業規定. 適用法令 2013/8/27 財政部中區國稅局彰化分局 1 所得稅法第 75 條  營利事業遇有解散、廢止、合併或轉讓情事時,應於截至解散、 廢止、合併或轉讓之日止,辦理當期決算,於四十五日內,依規 定格式,向該管稽徵機關申報其營利事業所得額及應納稅額,並.
Advertisements

杉达学院的办学理念 诚信办学对待社会 严谨管理取信社会 优异质量回报社会 杉达学院的校训 勤奋,求是,开拓,创新 杉达学院的办学特色 具有较强的英语和计算机 应用能力.
2 想买 iphone 但手头很紧怎么办? 每次充饭卡怎么都排队啊? 我想去银行实习! 如何才能省钱? ! 每月转生活费可以不出手续 费么? 打电话给朋友可以不花钱么? 不能办信用卡,可以直接贷款买东西? 让我的钱变多一些的办法? 什么叫理财? 好玩吗? 潮?
環境游離輻射 ( 六 ) 輻射與核能發電. 媽!這是我上班的 地方-核電廠。 地方好寬闊喔! 聽說日本原子彈爆炸死好幾 萬人,阿榮啊!你在這裡上 班,安全嗎?
《小狗包弟 》之 从阅读到写作 学校:和风中学 年级:高一 参赛者:彭龙英. 预习检测一 思考:同学们读完作者与包弟 的故事后,说一说作者所表达的情 感是什么?
资源平台应用培训 武汉市交通学校信息化建设指导委员会.
虹膜识别健康养老服务智能系统项目.
生涯不卡關 ~生涯卡之簡介與實務應用 吳慧美.
探究活动课:互联网+历史素材阅读与研讨 古代中国的选官制度 黄天庆  探究活动课:互联网+历史素材阅读与研讨 古代中国的选官制度 黄天庆 
職校、五專群科簡介.
第八章 组织文化的整合 ——并购中的文化整合(二) 小组成员:浦若蓉、朱谷一、贾彦彦.
三國演義之赤壁之戰 By 溫雅婷 胡翊軒 王蓉蓉 高渝涵 鄭巧芳.
104年度國立宜蘭大學新進主管研討 主計業務宣導說明
变态反应疾病的药物治疗 --荨麻疹的药物治疗
102年實施之高中職及五專多元入學(含免試入學)之招生機制
读者与图书馆 2009年春季版 总第 15 期 山 东 交 通 学 院 图 书 馆 2009年3月.
星云集团.
江苏省工程造价管理协会 工作报告 2015年4月21日 扬州.
目录.索引 有关产品 有关技术 有关服务. 目录.索引 有关产品 有关技术 有关服务 有关产品 产品历程 可行性分析 设计 研发 著作权登记 宁波交通委使用认可 需求 调研 2016 更多 赞美.
Your logo 聊聊互联网保险——以平安为例 by覃丽
101年8月份 嘉義市道路交通安全聯席會報 酒駕行為與肇事現況分析 主講人:內政部警政署交通組科長張夢麟 1.
高校邦在线学习平台 学生学习手册 北京高校邦科技有限公司.
2012级暑期放假安全教育 及宿舍搬迁工作布置会 北京化工大学理学院 辅导员:曹鼎 2013年6月6日.
朝陽國小學校課程發表簡報 活力四年級 導師:蔡于晨.
皖新数字书屋.
972學期性平教育輔導活動 『我的性平宣言』 兩性交往價值觀澄清活動.
请带上耳机.
上海宏弈源软件科技有限公司 — 12年专注益智软件研发 和配套产品服务 上海宏弈源软件科技有限公司.
无线行业市场数据月报 市场部 2013年7月 飞拓智库
第一部 认识篇 知己知彼 百战不殆.
Objective C介紹與MVC.
提升时间管理.
向日葵产品委员会.
2015年云南财经大学图书馆 新生入馆教育考核试题 答题指南
103學年度第1階段 志願選填試探後輔導作為 成效檢討與精進建議
活动主题:佛山智造 中国骄傲 随着互联网、云计算、大数据以及移动互联网的快速发展,技术不仅仅是一种工具,正加速重构着品牌的新格局。
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
                                        導師健康關懷 健康是一輩子的事 義守大學衛生保健組 關心您.
四川省卫生监督移动 执法终端介绍 发言人:陈成身 四川省卫生执法监督总队.
獎補助經預計支用報告 105年.
從性格心理學看生涯發展 組員: 高嘉鴻 李冠廷 簡品卉 李雅芳 陳怡馨.
《IOS应用开发教程》 QQ学习群:
Chapter 14 iPhone 平台簡介.
走近Lua ——嵌入式脚本在项目中的应用.
DWR WEB开发交流 1、自我介绍 2、DWR概述 3、DWR DEMO介绍 4、DWR实现机制 5、DWR配置说明 6、JS开发注意事项.
IPHONE应用开发 资源管理项目组 2018年12月24日.
UI设计标准、移动开发规范、移动管理规范、集成标准规范
数据结构 -Maple Related- 牟克典 数学科学学院信息科学系 2012秋季 1/16/2019.
华东理工大学 关于新校园卡功能启用的相关说明 2018年09月07日.
PubMed整合显示图书馆电子资源 医科院图书馆电子资源培训讲座.
本章目錄 10-1 物聯網介紹 10-2 物聯網系統與物聯網策略聯盟模式 10-3 物聯網系統服務聯盟實證分析 10-4 結論與建議.
《IOS应用开发基础教程》 QQ学习群:
CH10. 屬性與方法.
水足跡調查報告發表 環境品質文教基金會 董事長 謝英士
Objective C練習.
107年7月新修訂轉診支付標準 及電子轉診平台簡介
本节内容 脚本环境搭建.
本节内容 Lua基本语法.
102學年度下學期 班親會 五年仁班 楊曉逸老師.
第二階段「校園徒步區建置」 執行成果報告.
Scala编程
A Simple iOS Application
配合康軒版 社會科第一單元 第五課 製作者:周秀卿、 簡維萱
学 生 端 操 作 指 南
為民服務白皮書 台灣電力公司彰化區營業處  彰化區營業處 為民服務白皮書 誠信 關懷 服務 成長 1.
实验课程学习手册.
云控APP说明书 适用于云控平台配置.
云控APP说明书 适用于云控平台配置.
生命銀行 生命銀行.
如何著手入門MyLion 如何下載和註冊 讓我們來談談如何確保所有獅友知道如何下載和註冊app。.
Presentation transcript:

Lua+wax在ios上的应用 白 衣

主要内容 1. Lua是什么 2. wax是什么 3. 我对wax做的一些扩展 4. Lua和wax在ios上的一些限制

关于Lua 一种嵌入式脚本编程语言。C语言实现。巴西。开源 1. 脚本语言 解释执行,有自己语法、指令集以及虚拟机 2. 嵌入式 API设计都是围绕这点 3. 小且快 4. 应用案例 pc : 魔兽世界 phone : 愤怒的小鸟

Lua基本概念 数据类型:nil number string boolean function table userdata coroutine function closure (闭包) metatable (元表) Lua栈

关于wax 开源框架 用lua来写native的iphone app 2. Bridge between Objective-C and Lua 3. Using Objective-C runtime

why wax 1. 自动GC。 没有release retain 2. 少写一些代码。 2. 少写一些代码。 没有头文件 没有static type array dictionary 3. 暴露所有的native类到lua。 UIKit Foundation等 还有你自己的Objective-C代码 4. 提供HTTP库 json库 xml库等扩展库 5. Lua支持强大的闭包 6. Lua自带正则匹配库

wax架构图

一些code waxClass{"MyController", UIViewController} function init() -- to call a method on super, simply use self.super self.super:initWithNibName_bundle("MyControllerView.xib", nil) return self end function viewDidLoad() -- Do all your other stuff here

wax改进1 增加wax_bind 绑定native创建的类和要对应的脚本 将native创建的类,封装成userdata,并将脚本中的函数注册给native的类 缺点: native的函数不能复用

wax改进2 luabridge端上增加 callNativeMethod方法 后来遇到另一个问题:

wax改进后的一些code waxbind.lua: waxBind() function viewDidLoad(self) self:waxCallNative('viewDidLoad'); print('viewDidLoad called from lua.'); end ViewController.m: wax_bind([[[NSBundle mainBundle] resourcePath] cStringUsingEncoding:NSUTF8StringEncoding], [@"waxbind.lua" cStringUsingEncoding:NSUTF8StringEncoding], self);

脚本的安全性 加密 脚本二进制化 改luac

Lua+wax的限制 苹果公司审核的担忧。 代码上的限制: 1. 所有native的成员变量,都要有getter和setter函数(@property)。 2. getter和setter函数名,不能有下划线 工程上的限制: 1. 修改自由,版本不好控制 2. 开发工程师要掌握两门语言。 3. 目前没找到debug工具,要log调试

参考资料 Lua PIL : http://www.lua.org/pil/contents.html Wax https://github.com/probablycorey/wax https://github.com/taobao-idev/wax/tree/devel https://github.com/mmin18/WaxPatch

谢谢!!