Native Client 让你使用 C/C++ 开发 Web 应用

红薯
 红薯
发布于 2011年08月22日
收藏 20

Google 的产品经理 Christian Stefansen 同学近日在 Chromium 官方博客中说最新版的 Chrome Beta 已经可以使用 C 以及 C++ 语言来开发 Web 应用,而这一切正是得益于 Google 的本地客户端(Native Client)。

本地客户端应用是运行在 Web 平台上的,所以开发者不需要为每一个操作系统都做一个版本。同时本地客户端应用使用的是 Pepper 插件 API,这个 API 可以让你用 C 和 C++ 语言开发具有 HTML 5 功能的应用程序。不依赖操作系统就是说一旦你把你的代码移植到本地客户端,那么就可以运行在所有的操作系统上,你也只需要维护一个代码库。反正说来说去 Google 的意思就是让开发者都把代码移植到本地客户端上来。

目前本地客户端支持2D图形、立体声音频、网址抓取、有沙盒保护的本地文件访问(文件API)以及与 JavaScript 的双向异步消息传递等 Pepper API 中的功能,未来还会加入3D图形硬件加速(OpenGL ES 2.0)、全屏模式、网络(WebSockets 以及点对点连接)等等功能,反正就是 HTML 5 和 Pepper 中有的新功能,本地客户端都会在第一时间加入。

值得一提的是本地客户端的安全性,为了确保本地客户端能够像 Javascript 一样安全,本地客户端的代码嵌套了两个沙箱以实现与操作系统隔离,分别为本地客户端沙箱以及 Chrome 自带的沙箱。和传统的 NPAPI 插件以及 ActiveX 空间不同的是,本地客户端应用不会访问底层的操作系统 API。

开发者如果想要用本地客户端开发应用程序的话,可以直接在本地客户端官方网站上下载 SDK、寻找教程、样例、API 文档以及 FAQ,等 Chrome 14 进入 Stable 分支之后,那么你用本地客户端开发的 Web 应用就可以上传到 Chrome Web Store 中让1.6亿的 Chrome 用户使用了。

本地客户端的下一个里程碑是架构独立,而可移植的本地客户端(Portable Native Client)将使用 LLVM bitcode 作为基础用于本地客户端内容分发格式来实现这一点,在程序运行之前将其翻译成实际目标指令集。不过在此之前 Chrome Web Store 是本地客户端应用唯一的分发渠道,因为这样才能够确保所有的本地客户端应用能够在可抑制的本地客户端准备好之后无缝升级,并且这种机制还可以避免依赖指令 集架构的应用蔓延,到时候 Google 会专门发博客给开发者解释这一切。

不知道 Chromi 的读者中有没有使用本地客户端开发的作品,不妨秀出来给大家伙儿见识见识!

via Chromiumblog

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Native Client 让你使用 C/C++ 开发 Web 应用
加载中

最新评论(11

junehappylove
junehappylove

引用来自“BaiYang”的评论

引用来自“张亦俊”的评论

Google的ActiveX……

No, Google 和 FF 的 ActiveX 对等物是 NPAPI,Native Client跟 NPAPI/ActiveX 之类技术的最大区别在于:这些 C/C++ 代码跑在浏览器提供的沙箱环境内(浏览器提供一套 POSIX API、OpenGL 兼容接口,以及与 HTML、CSS、JavaScript 互动的接口)。

个人认为这是很有前途的 Idea,符合人类技术发展螺旋上升的规律——算是对 C/S 的一种回归和升华。
好调
BaiYang
BaiYang

引用来自“张亦俊”的评论

Google的ActiveX……

No, Google 和 FF 的 ActiveX 对等物是 NPAPI,Native Client跟 NPAPI/ActiveX 之类技术的最大区别在于:这些 C/C++ 代码跑在浏览器提供的沙箱环境内(浏览器提供一套 POSIX API、OpenGL 兼容接口,以及与 HTML、CSS、JavaScript 互动的接口)。

个人认为这是很有前途的 Idea,符合人类技术发展螺旋上升的规律——算是对 C/S 的一种回归和升华。
HoDull
HoDull
有些人成天大呼开源开源,试问你的思想成熟度、专业技能、业务需求等等真的已经上升到了那个水平了么?你真的搞懂开源的运作方式了么?不要搞盲目崇拜,开源也好、闭源也好,只是两种不同的商业模式罢了……
Gmail.com
Gmail.com
你也抵制google把,google的搜索算法从来就不开源
梵高
梵高

引用来自“starstroll”的评论

引用来自“张亦俊”的评论

Google的ActiveX……

既然要发明这东西干嘛要放弃IE6?

ie 6的伟大之处可不仅仅是这个,~。~
starstroll
starstroll

引用来自“张亦俊”的评论

Google的ActiveX……

既然要发明这东西干嘛要放弃IE6?
张亦俊
张亦俊
Google的ActiveX……
返回顶部
顶部