Chrome Native Client 简介
来源:互联网 发布:java时间戳加减 编辑:程序博客网 时间:2024/05/29 11:47
Chrome Native Client 简介
目的:
Native Client是一种允许在浏览器中运行native compiled code 的技术,允许开发者运用自己熟悉的语言来开发web应用,而不只是JavaScript,目前NativeClient技术只能应用于google自己的chrome中。
一个使用Native client技术的web应用的组成:JavaScript,HTML, CSS, 和Native Client 模块,Native Client 模块:就是用Native语言编写的,供web调用的模块,目前NativeClient SDK只支持C和C++作为native 语言。
应用场景:
1. 使用现有的已经存在的软件模块完成一个web 应用,而不需要换一种web语言来编写。
2. 一些传统桌面程序的迁移。
3. 多媒体应用的迁移。
4. 游戏应用的迁移。
Native client的工作原理:
一个Native Client应用主要分为3个组成部分:
1, HTML/JavaScriptapplication: 提供了用户界面和时间处理机制。
2, PepperAPI: 使得JavaScript code 和NativeClient module可以相互通信,同时允许Native Client 模块创建和管理浏览器相关的资源。
3, NativeClient module: 通常用于完成大量的计算,和大数据的操作。
下面看一下HTML/JavaScript和Native client Module之间的消息交互过程:
1. Html/JavaScript代码向NativeClientModule 发送消息:
在HTML/JavaScript代码中以一个<embed>块表示NativeClient module, 例如:
<embed name="nacl_module"
id="hello_world"
width=0height=0
src="hello_world.nmf"
type="application/x-nacl"/>
在load 完native client 之后,就可以通过getElementByID(hello_world),来获得Nativeclient的句柄--helloworldModule,之后可以通过helloworldModule->PostMessage()向NativeClient发送消息。
2. Html/JavaScript接收NativeClientModule发送的消息。
在html/JavaScript代码中,通过注册监听message消息,来实现对nativeClient消息的handle.
listener.addEventListener('message',handleMessage, true);
3. NativeClient Module向html/javaScript发送消息。
在nativeClient端,以一个pp::Instance()来代表html/JavaScript实体, 于是NativeClientModule 就可以通过pp::Instance->PostMessage来向html/JavaScript端发送消息。
4. NativeClient Module 接收html/javaScript消息。
可以通过pp::Instance()的hanleMessage()接口来处理发过过来的消息。
参考:
https://developers.google.com/native-client/overview?hl=zh-CN#intro
https://developers.google.com/native-client/devguide/tutorial#review
- Chrome Native Client 简介
- Chrome Native Client 简介
- Chrome Native Client 原理
- [转]chrome native client小试牛刀
- Chrome浏览器支持Native Client,应该也是一种插件技术
- 从Secure Shell看Chrome强大的Native Client
- native client
- chrome Native Client 让你可以使用 C 以及 C++ 语言开发 Web 应用
- Native Client SDK 发布,在 Chrome 里无缝运行本地编译代码
- Native Client - Application - Native Client Modules
- Google Native Client入门
- Native Client 资料
- google native client
- Native Client初探
- What is Native Client?
- Chrome Native Message FAQ
- What is SQL Native Client?
- SQL Server Native Client下载
- 【Div+Css笔记】0x04 进阶准备
- linux 磁盘分配
- ENVI 5——全新的软件界面
- 画圆角 - HTML5 Canvas 作图
- MySQL中order by的实现 和 by rand() 和优化
- Chrome Native Client 简介
- rpm命令详解
- 观察者模式observer
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- C++中const用法总结
- 华为boss力荐公司高层看的一篇文章,真的很经典!!![转载]
- 在ubuntu上安装openstack的swift组件-installing openstack object storage
- 查看表约束
- Webbrowser如何设置iframe里控件的值