码迷,mamicode.com
首页 > Web开发 > 详细

JSPatch热更新的利器.

时间:2016-06-28 23:39:37      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

如果用一句话来描述JSPatch,就是利用系统自带的JavaScriptCore.framework配合RunTime机制,进行实时的代码下载与运行..

而且使用也很简单,启动,加载JS,运行...

    [JPEngine startEngine];
    NSString *sourcePath = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"js"];
    NSString *script = [NSString stringWithContentsOfFile:sourcePath encoding:NSUTF8StringEncoding error:nil];
    [JPEngine evaluateScript:script];

    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    [self.window addSubview:[self genView]];
    [self.window makeKeyAndVisible];

 

关键是装载进JSPatch的js怎么写. 

require(‘UIAlertView‘) //需要引入的类
defineClass(‘LifeViewController‘, { //作用于那个类
viewWillAppear: function(animated) { //重写那个函数
self.super().viewWillAppear(animated);
    var alert = UIAlertView.alloc().initWithTitle_message_delegate_cancelButtonTitle_otherButtonTitles("Hot - Fix Test", "热更新测试Hot-Fix Test", self, "取消", "确定", null);
    alert.setTag(1);
    alert.show();
},
});

 

不过也提供了将oc代码直接转成js的工具.

http://bang590.github.io/JSPatchConvertor/

 

其实JSPatch的想象空间很大. 如果运动得当,灵活性将不输于H5,但体验绝对秒杀H5.虽然一般拿来修复Bug...

JSPatch热更新的利器.

标签:

原文地址:http://www.cnblogs.com/ngi8/p/5625207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!