针对网络浏览器应用程序的C++前景

What prospects for C++ targeted for web-browser apps?

本文关键字:C++ 前景 应用程序 浏览器 网络      更新时间:2023-10-16

我们有便携式C++源,用于在各种不同的硬件(10+平台(上部署游戏和应用程序。我们现在对部署到 Web 浏览器感兴趣。

Chrome 有其原生客户端架构。但是,作为一个平台,我们仅限于Chrome用户。是否有任何其他新兴标准允许编译 C/C++ 源代码并将其定位到 Web 浏览器?

关于这个话题,短期内没有 100% 的答案。

原因是没有一个主要的 Web 浏览器实际上支持运行完全安全的本机编译代码,就像C++一样。ActiveX从未完全受到保护,并且并非100%了解chrome的适用性,但是chrome在用户空间中做了很多事情。像编译的机器代码这样的东西只能从操作系统内核制作的适当沙箱中真正信任。

即将发布的Windows 8版本具有新的沙盒技术,与新的Windows RT编译器一起将允许在浏览器中C++,并且此新代码得到了适当的保护。

使用

Linux 的人也在那里使用不同类型的沙箱,内核也支持这些沙箱。在遥远的未来,您可能会将这些视为 linux 浏览器的沙箱以及 VMS 托管解决方案的沙箱等......

所以就目前而言,C++代码的解决方案是......

1(谷歌浏览器应用程序2( Windows 8 IE 10 与新的 Windows 8 Metro 应用程序等...

您必须为所有系统构建应用程序,并使用服务器 cookie 来确定要发送到浏览器的版本。就像以前有ActiveX和Mozilla Netscape插件一样。换句话说,新的和即将到来的插件场景将比ActiveX和Netscape插件更安全(因为它将被正确沙盒化(,但它可能会更加昂贵和技术性,因为......

1(将有更多的供应商在浏览器中自定义机器代码插件。2(每个操作系统中的沙盒会略有不同,甚至非常不同。3( 每个操作系统的构建项目将不同。4(您通常很可能不得不将应用程序放在应用商店中。5(您必须让应用商店验证应用程序。6(如果您想在任何地方提供支持,您可能需要支付不同的应用商店费用。

如果供应商使沙盒技术正常工作,那么很多人会出于显而易见的原因使用它,但是在客户端沙盒的某种标准化之前,可能需要很多年,这对每个人来说都是一件非常可悲的事情。但我认为,如果浏览器制造商实施了操作系统支持的适当沙盒,它将是完全安全的,因此许多网络公司将不再能够控制您所做的一切。

否则我可能过度猜测,但这就是我现在对C++和浏览器的看法。我的建议是,等一段时间再做其他事情。如果沙盒来了,那就这样吧。

>Emscripten可以将LLVM位码(例如由Clang从C++生成(编译为JavaScript。