- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WebKit在iOS上的技术调研,ioswebkit,ioswebkit.framework,ioswebkit框架,ios8webkit,ioswebkit与js交互,ios9webkit,ioswebkit的使用,ioswebkitjs,ioswebkitcss动画
WebKit在iOS平台上的开发
技术调研
文件状态:
[√] 草稿
[ ] 正式发布
[ ] 正在修改 文件标识: 当前版本: 1.0 作 者: 邹月明 开始日期: 2011-7-20 完成日期:
版 本 历 史
版本/状态 作者 参与者 起止日期 备注 1.0 邹月明 2011-7-20
1. 基本信息 4
1.1. 背景 4
1.2. 目标 4
2. 背景知识 4
2.1 Mac OSX和iOS 4
2.2 Xcode、SDK 4
2.3 Interface Builder 4
2.4 Objective C 4
2.5 UIWebView 5
2.6 WebKit与NPP(Netscape Plugin) 5
3. 关键技术 5
3.1 用自定义协议实现HTML与Objective C互操作 5
3.2 用HTTP服务器的方式与HTML互操作 6
3.3 用Xcode提供的WebKit Plugin实现Webkit插件 6
3.4 用DOM实现对WebKit内容的操作 8
3.5 用NPP实现Webkit插件 8
3.6 用纯C++编写iOS程序 8
3.7 从WebKit在iOS上的实现内部找出路 9
3.7.1 确认WebKit是否支持Netscape plugin 9
WebKit-r91186 from 10
JavaScriptCore-721.26 from iOS 4.3 10
3.7.2 确认iOS下是否有独立的Webkit模块 10
3.7.3 我靠!似乎所有的路都没有了! 11
4. 参考文档: 11
基本信息
背景
Tang1.1将在iPad上提供会议服务,使用iPad的用户可以使用符合iPad平台特色的全时云会议服务。这其中包括了目前在Win32平台上云会议客户端所包括的所有功能。
目标
在iOS下的WebKit支持哪种可以用C++实现的插件
在iOS下的Javascript如何与Objective C代码进行互操作
背景知识
Mac OSX和iOS
Mac OSX和iOS都是苹果基于OpenBSD改造的操作系统,前者用于PC产品,后者用于iPhone、iPad等设备。
从实现上来看,操作系统内核是完全相同的,但后者是前者的子集,有好多功能在iOS中被“减配”了。
Xcode、SDK
苹果官方提供的集成开发与调试环境,它用于编写和调试基于Mac OSX和iOS的应用程序,该工具包含了Mac OSX和iOS平台的SDK,同时包含了iPhone和iPad的模拟器。
Interface Builder
图型用户界面构造程序。
Objective C
UIWebView
UIWebView是WebKit在iOS上的UIKit库中提供的,实现Web浏览视图的类。
WebKit与NPP(Netscape Plugin)
关键技术
用自定义协议实现HTML与Objective C互操作
该方法是在网上能找到的最多,也是最“成熟”的方法。原理就是用Objective C实现一个iPhone程序,该程序用UIWebView装载一个HTML页面,并重载UIWebView的shouldStartLoadWithRequest函数,截获自定义格式URL的浏览请求,处理完成后再将返回值做为参数调用HTML页面的方法完成返回数据。
目前在google groups上能找到的开源工程有JSBridge。
还有一个著名的开源库PhoneGap也是采用该方法实现。
这么看来啊……如果真的没有其它更好的方法,那好像只能捏着鼻子用这个方法了。
该方案的优点是:
实现简单。
同时支持Mac OS X和iOS操作系统。
该方案的缺点是:
由于只能用字符串(可以用base64封装二进制数据)传递,所以对对象的支持不够好,需要花很大力气在O/R mapping上。当然对象之间的引用或复杂交互就更无从谈起了。
由于Javascript那边要做很多的编码和解码工作,性能瓶颈被完全压到了HTML这一侧。
后来惊闻有个用PhoneGap的公司的程序被AppStore拒了,后来他们买的200多$的PhoneGap产品后通过了审核。
用HTTP服务器的方式与HTML互操作
苹果上面可以写一个HTTP服务器,这样就可以从HTML做正规的Ajax页面与通信了。和上面的方法相比,这个方法客户端页面编写相对容易,但同样由于只能用字符串(可以用HTTP封装二进制数据)传递,所以对对象的支持不够好,需要花很大力气在O/R mapping上。当然对象之间的引用或复杂交互就更无从谈起了。
不过从只提供数据的角度上看……JavaScript只是用Aja
文档评论(0)