Native Client 让你可以使用 C 以及 C++ 语言开发 Web 应用

标签: Chrome Chromium Chrome测试版 native client | 发表时间:2011-08-22 00:58 | 作者:Eyon 可可
出处:http://www.chromi.org

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

相关 [native client 你可以] 推荐:

Native Client 让你可以使用 C 以及 C++ 语言开发 Web 应用

- 可可 - Chrome迷
Google 的产品经理 Christian Stefansen 同学近日在 Chromium 官方博客中说最新版的 Chrome Beta 已经可以使用 C 以及 C++ 语言来开发 Web 应用,而这一切正是得益于 Google 的本地客户端(Native Client). 本地客户端应用是运行在 Web 平台上的,所以开发者不需要为每一个操作系统都做一个版本.

Chrome 14 beta启用Native Client

- tinda - Solidot
Google发布了Chrome 14 beta,默认启用Native Client(NaCl),它最早在上半年发布的Chrome 10 beta整合了NaCl,但并未激活. Google在2008年首次推出了试验项目NaCl,让开发者可以编译C/C++代码为不针对特定平台的二进制文件,在浏览器整合的运行时中执行,利用沙盒技术避开安全缺陷.

剑走偏锋的 Native Client

- - 谷奥——探寻谷歌的奥秘
感谢读者  liuyanghejerry 的投稿. 不知不觉,Google已经正式推出其Native Client (NaCl)过去约7个月之久. 而目前国内似乎还没有多少关于NaCl的资料,所以在这里面向Web开发者做一下简单的介绍,希望能够起到一个抛砖引玉的效果. 本文的所有代码均来自于 https://developers.google.com/native-client/devguide/tutorial,如果您对其中的任何技术细节存在疑问,请以原文为准.

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

- 冷月 - ITeye资讯频道
最新版的Chrome Beta已经可以使用C以及C++语言来开发Web应用了,而这一切正是得益于Google的Native Client. Native Client应用是运行在Web平台上的,所以开发者不需要为每一个操作系统都做一个版本. 同时Native Client应用使用的是Pepper插件API,这个API可以让你用C和C++语言开发具有HTML 5功能的应用程序.

Chrome 的 Native Client 好棒,浏览器游戏好耶

- - I, KDE
首先,你需要安装的是 Chrome,然后about:flags 启用 native client,不要用 Chromium,Chromium 我折腾了一堆东西还是提示没有native client. 现在的 Linux 游戏实在是不能入我法眼……除了老早的 firefox 上玩的 Quake Live(好像是这个名字)还不错.

Google Chrome 14リリース、Native Client やOS X Lionの全画面に対応

- 三十不归 - Engadget Japanese
Google Chrome ブラウザの安定版がバージョン 14 になりました. Native Client 対応. C や C++ のコードをブラウザ内で直接、安全に走らせる. ウェブアプリの性能をネイティブアプリに近づけるとともに、プラットフォーム間でのポータビリティを実現する. ただし、Chromeで当初サポートするのは Chrome Web Store で配布されるアプリのみ.

Zookeeper Client简介

- - zzm
直接使用zk的api实现业务功能比较繁琐. 因为要处理session loss,session expire等异常,在发生这些异常后进行重连. 又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅. 另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举等,还要自己额外做很多事情.

谈谈 React Native

- - 唐巧的技术博客
几天前,Facebook 在 React.js Conf 2015 大会上推出了 React Native( 视频链接). 我发了一条微博( 地址),结果引来了 100 多次转发. 为什么 React Native 会引来如此多的关注呢. 我在这里谈谈我对 React Native 的理解. 一个新框架的出现总是为了解决现有的一些问题,那么对于现在的移动开发者来说,到底有哪些问题 React Native 能涉及呢.

rabbitmq java client api详解

- - 五四陈科学院
以下内容由 [五四陈科学院]提供. AMQP协议是一个高级抽象层消息通信协议,RabbitMQ是AMQP协议的实现. 每个rabbitmq-server叫做一个Broker,等着tcp连接进入. 在rabbitmq-server进程内有Exchange,定义了这个消息的发送类型. Queue是进程内的逻辑队列,有多个,有名字.

Netty Client重连实现

- - 鸟窝
当我们用Netty实现一个TCP client时,我们当然希望当连接断掉的时候Netty能够自动重连. Netty Client有两种情况下需要重连:. Netty Client启动的时候需要重连. 在程序运行中连接断掉需要重连. 对于第一种情况,Netty的作者在stackoverflow上给出了 解决方案,.