PNaCl:Google通过LLVM增强对Chrome中原生应用的支持
2013-05-28 11:47
357 查看
过支持运行LLVM位码(bitcode),Google增强了对Chrome中原生应用的支持。
在Google I/O 2013大会上,Google宣布了预期加入的PNaCl(Portable
NaCl,读作“pinnacle”),继续推进对Chrome中原生应用的支持。PNaCl修改了原来的工具链,与之前为每种目标平台编译C/C++应用不同,现在开发者只需生成一份LLVM位码,之后位码可以由任一Chrome客户端加载,在本地转换为原生代码、验证和执行。
目前,x86-32、x86-64和ARM架构上的Chrome 29已支持PNaCl。在PNaCl完整发布之后,Chrome客户端能够在任意页面上运行原生模块,而无需将其打包为面向Chrome Web Store的应用。此外,PNaCl模块无需重新编译即可在未来的架构上运行。更为有趣的是,尽管目前只支持C/C++,理论上PNaCl模块可以以任何能够编译为LLVM位码的语言编写,包括ActionScript、Ada、D、Fortran、Haskell、Java字节码、Objective-C、Python、Ruby、Rust、Scala和C#等,拓宽了可以在Chrome中运行的遗留的和较新的原生应用的使用范围,这些应用只需要很小的调整,甚至无需调整。
2010年,4位Google工程师组成的一个团队在内部提出了PnaCl(PDF),几位作者想象的是这样一种解决方案:
为编译的NaCl模块提供一种独立于指令集体系结构(ISA)的格式,无需重新编译即可支持多种目标平台。
便于NaCl开发者构建、测试和部署可移植的执行模块。
首先要支持x86-32、x86-64和ARM指令集,但要很容易支持未来其他流行的通用处理器。
能够保持原生客户端所拥有的安全和性能属性。
PNaCl仍然使用原来的NaCl沙盒机制,以保证运行翻译位码时的安全性。具体逻辑如下图所示,客户端从服务器请求位码,然后针对自己的架构将其转换为原生的可执行代码。翻译可能在本地进行(在另一个NaCI沙盒内),也可能通过另一个实体远程执行。
PnaCl开发工具链支持Windows、Mac和Linux,SDK可以从项目网站下载。
查看英文原文:PNaCl:
Google Adds More Native Support to Chrome via LLVM
在Google I/O 2013大会上,Google宣布了预期加入的PNaCl(Portable
NaCl,读作“pinnacle”),继续推进对Chrome中原生应用的支持。PNaCl修改了原来的工具链,与之前为每种目标平台编译C/C++应用不同,现在开发者只需生成一份LLVM位码,之后位码可以由任一Chrome客户端加载,在本地转换为原生代码、验证和执行。
目前,x86-32、x86-64和ARM架构上的Chrome 29已支持PNaCl。在PNaCl完整发布之后,Chrome客户端能够在任意页面上运行原生模块,而无需将其打包为面向Chrome Web Store的应用。此外,PNaCl模块无需重新编译即可在未来的架构上运行。更为有趣的是,尽管目前只支持C/C++,理论上PNaCl模块可以以任何能够编译为LLVM位码的语言编写,包括ActionScript、Ada、D、Fortran、Haskell、Java字节码、Objective-C、Python、Ruby、Rust、Scala和C#等,拓宽了可以在Chrome中运行的遗留的和较新的原生应用的使用范围,这些应用只需要很小的调整,甚至无需调整。
2010年,4位Google工程师组成的一个团队在内部提出了PnaCl(PDF),几位作者想象的是这样一种解决方案:
为编译的NaCl模块提供一种独立于指令集体系结构(ISA)的格式,无需重新编译即可支持多种目标平台。
便于NaCl开发者构建、测试和部署可移植的执行模块。
首先要支持x86-32、x86-64和ARM指令集,但要很容易支持未来其他流行的通用处理器。
能够保持原生客户端所拥有的安全和性能属性。
PNaCl仍然使用原来的NaCl沙盒机制,以保证运行翻译位码时的安全性。具体逻辑如下图所示,客户端从服务器请求位码,然后针对自己的架构将其转换为原生的可执行代码。翻译可能在本地进行(在另一个NaCI沙盒内),也可能通过另一个实体远程执行。
PnaCl开发工具链支持Windows、Mac和Linux,SDK可以从项目网站下载。
查看英文原文:PNaCl:
Google Adds More Native Support to Chrome via LLVM
相关文章推荐
- PNaCl:Google通过LLVM增强对Chrome中原生应用的支持
- 增强现实应用通过摄像头实时翻译菜单、标志上的外国文字(支持中文)
- Google 系应用设计相同、支持拉伸、修正原生实现诸多问题的星级评分条。可直接替换 RatingBar。
- google安装插件,提示只能通过Chrome网上应用商店安装该程序
- JSON序列化与解析(原生JS方法)【IE6和chrome测试通过】
- 通过HttpServletRequestWrapper(装饰模式的应用)增强HttpServletRequest的功能
- Pipelight – 让 Linux 原生 Chromium/Chrome 无缝支持 ActiveX 控件 (看! 网银!) ... ...
- 关于 IE firefox Chrome下的通过用js 关闭窗口部分不支持问题解决
- WCF知识点(应用WCF支持原生Socket访问, 原始字节流传输)
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
- Google Chrome OS的战略部署和应用前景分析
- Android通过WebView选择文件上传(支持直接调起相机等应用)
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- 通过增强的 Windows Forms 支持为 .NET 应用程序精心制作华丽的 UI
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- 解决“只能通过Chrome网上应用商店安装该程序”的方法