原生 vs html5

微信带动了html5 技术的广泛应用 有点夸张,但它确实火了一把。

现在就来学习学习 ios 是如何与h5进行交互的;

PART-ONE :

一、原理

1.h5 与 ios 进行交互,首先得建立 webviewBridge ,沟通的桥梁;

2.其次是双方的响应。

a.先在h5端注册一个响应的名称。

b.oc就可以通过这个名称对h5进行呼叫。

c.oc发送消息给h5 分两种情况,一种是要求h5返回参数,而另一种是不要求h5返回数据

PART-TWO

二、使用

比较好用的第三库 WebViewJavascriptBridge

第一步:注册一个UIWebView

UIWebView* webView = [[UIWebView alloc] initWithFrame:self.view.bounds];

    [self.view addSubview:webView];

第二步:注册“桥梁”
- (void)viewDidload {if(self.bridge == nil) { return ;}

  [WebViewJavascriptBridge enableLogging];

  self.bridge = [WebViewJavascriptBridge bridgeForWebVeiw:webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback) {  NSLog(@"Objc received message from JS :%@",data);}     responseCallback(@"Response for message from Objc"); 

  }];
}

第三步:JS调用OC方法

[_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) {
        NSLog(@"testObjcCallback called: %@", data);
        responseCallback(@"Response from testObjcCallback");
    }];

第四步:OC调用JS方法

[_bridge callHandler:@"testObjcCallback" data:data responseCallback:^(id  response) {  

  response(@"Response from testObjcCallback");

}

第五:

无参返回

[_bridge send: @"this is a message from OC" ];

有参返回

[_bridge send:@"this a message from OC ,please answer the message when u see it" responseCallback(^id response) {

  NSLog(@"the answer from JS");

}];

时间: 2024-11-19 17:48:38

原生 vs html5的相关文章

原生,html5,混合Hybird

app开发的三种模式:原生,html5,混合Hybird Native APP:就是所说的原生开发,Native Code编程,代码编译之后以2进制或者字节码的形式运行在OS上,直接调用OS的Device API: Web APP,以HTML+JS+CSS等WEB技术编程,代码运行在浏览器中,通过浏览器来调用Device API(取决于HTML5未来的支持能力): Hybrid APP,就是混合开发.部分代码以WEB技术编程,部分代码由某些Native Container承担(例如PhonGAP

HTML5定稿了(为什么原生APP界将被颠覆)

导语:HTML5将颠覆原生App世界,这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看HTML5为什么

HTML5定稿了,为什么原生App世界将被颠覆

2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看HTML5为什么诞生.这8年是怎么过来的. 作者简介:王安,数字天堂公司董事长,DCloud CEO. HTML5的诞生 自W3C于1999年发布HTM

HTML5已定稿:将彻底颠覆原生应用

2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看HTML5为什么诞生.这8年是怎么过来的. HTML5的诞生自W3C于1999年发布HTML4后,Web世界快速发展,一片繁荣.人们一度认为HTML标准

HTML5定稿,为什么是原生App的颠覆

过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看HTML5为什么诞生.这8年是怎么过来的. 一. HTML5的诞生 自W3C于1999年发布HTML4后,Web世界快速发展,一片繁荣.人们一度认为HTML标准不需要升级了.一些致力于发展Web App的公司另行成立了WHATWG组织,直到2007年,W3

为什么我不看好HTML5替代原生APP

最近HTML5又开始大火起来了,几年前我也是HTML5的忠实粉丝,狂热的技术爱好者和BS系统的开发者,我和这些鼓吹HTML5的人一样,硬件的提升,必将会提升HTML5在移动互联端的用户体验,对,说的是用户体验,多高端,多逼格啊,我以前也是这么想的嘞. 可是,我现在却有一点点疑惑,为啥呢?并不是说HTML5不好,HTML5真的很好,它的理念,它提供的特性点,包括微软全面推行的windows10,抛弃IE浏览器,这对于被IE折磨了这么多年的开发者来说,可以讲是一个天大的喜事啊,因为微软的新浏览器Sp

Amaze UI让HTML5 Web应用接近原生体验

近日,第四届HTML5峰会在北京国际会议中心拉开序幕,云适配携其"HTML5跨屏前端框架Amaze UI"高调亮相,并在大会上了做了<组件化-Web前端开发的未来趋势>的重要演讲. 组件化是Web开发的未来趋势 Web组件化(Web Components)理念,自Google在2013年的I/O大会上提及起,一直都有开发者关注这一开发技术的发展,只是总处于不愠不火的状态.直至去年HTML5规范的正式定稿,Web开发也随之异常火爆,让Web组件化的关注度也随之水涨船高,从今年

HTML5定稿了,终于有一种编程语言开发的程序可以在Android和IOS两种设备上运行了

2007 年 W3C (万维网联盟)立项 HTML5,直至 2014 年 10 月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5 颠覆了 PC 互联网的格局,优化了移动互联网的体验,接下来,HTML5 将颠覆原生 App 世界.这听起来有点危言耸听,但若认真分析 HTML5 的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟知历史才能预知未来,先让我们来看看 HTML5 为什么诞生.这 8 年是怎么过来的. 一. HTML5 的诞生 自 W3C 于 1999 年发布 HTML

HTML5发展史

2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 在互联网的早期,对用户而言,能打开浏览器接入到互联网世界就是一个神奇的事情,但互联网发展到2005年前后,开始出现下一个变化,就是宽带互联. 随着宽带的普及和电脑性能的增强,人们不再满足于单纯的通过互联网看新闻.收发邮件,消耗更高带宽的娱乐产品开始出现,就是流视频和网页游戏.其实视频和游戏是古老的需求,在互联网不普及的时候,需求的满足方式是离线传输的VCD和游戏光盘:后来互联网逐渐普及,人们更