欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
今天偶然需要确定一个浏览器需要借助本地资源的需求。偶然听同事说起一种技术。才发现,原来还有这种技术,而且还是很多年了的。
所谓的本地资源,其实可以包括:本地文件设备等,本地的计算资源CPU,GPU,内存等。
总结一下就是,网页无法完成的工作,需要借助本地的能力。
这里总结一下,现有几种技术:
1、ActiveX插件
IE使用,c++。比较老了,不怎么使用了,IE内自己的有版本的莫名其妙问题
本地api无限制使用。
容易有安全问题。
框架内可以和网页之间双向通信,实时交互。
开发介绍
2、npapi
Firefox,Chrome,等浏览器的插件技术;
本地api无限制使用。
容易有安全问题。
框架内可以和网页之间双向通信,实时交互。
Chrome内核浏览器一直兼容运行。
开发介绍
3、ppapi
Chrome推出的npapi替代方案。计划替代npapi和ActiveX框架。
基于浏览器沙盒运行,所以只能运行部分本地api。
重点在于给浏览器提供本地计算的能力。比如计算,渲染等。
框架内可以和网页之间双向通信,实时交互。
但是开发框架比较麻烦。谷歌的Nacl框架。
开发介绍
4、xbap
xaml browser application
微软技术。今天刚刚了解到的。依赖本地.net framework。
理论上跨.net framework框架内的所有浏览器。现在来说就是Windows平台的所有浏览器。
框架内可以和网页之间双向通信,实时交互。也是运行在框架提供的沙盒内部。所以也会有一些运行限制。暂时未验证。
开发介绍
5、url protocol
单向的从web网页到本地应用的一个调用运行。
网页通过url protocol运行一个本地注册的应用,并在运行的时候,传入启动参数。从而达到一定效果的网页和本地资源共享。
可以跨所有操作系统,所有浏览器。
两者只有运行的一刻,有一次单向交互。(就是启动参数)
一般使用在网页和本地应用,不强关联的场景。比如从网页业务,跳转到本地应用的情况。
手机端比较容易理解的场景就是一些应用之间的跳转,或者从浏览器快速打开app的时候,基本就是使用该技术。
开发介绍
6、websocket
这个技术应该来说,比较牵强了。
因为,他只要提供的是一种,使网页和本地应用能够,长效的,双向的,高效的通信技术。
大致原理,就是由本地应用开启一个websocket服务,由网页使用websocket作为客户端,请求连接到本地的websocket服务。
从而达到本地应用和网页的通信交互。
比较好理解的场景,就是本地电脑QQ运行之后,可以在网页端,共享登录状态,实现网页快速登录。
7、是啥去了,暂时忘记了。先到这吧。
欢迎来我公众号,交流学习。