首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

再谈沙箱:前端所涉及的沙箱细讲

沙箱或称沙盒,即sandbox,顾名思义,就是让程序跑在一个隔离的环境下,不对外界的其他程序造成影响,外界无法修改该环境内任何信息,沙箱内的东西单独属于一个世界,通过创建类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。举个简单的栗子,其实我们的浏览器,Chrome 中的每一个标签页都是一个沙箱(sandbox)。渲染进程被沙箱(Sandbox)隔离,网页 web 代码内容必须通过 IPC 通道才能与浏览器内核进程通信,通信过程会进行安全的检查。沙箱设计的目的是为了让不可信的代码运行在一定的环境中,从而限制这些代码访问隔离区之外的资源。

01

被低估的 Deno

这个周末,我一直在把玩 deno 的 rusty_v8 以及 deno_core(录了几个 rusty_v8 的视频,预计四月第二周发)。rusty_v8 是 google v8 engine 的 Rust 零成本封装,而 deno_core 在 rusty_v8 的基础上进一步封装了一些额外的功能。众所周知,v8 是 chrome 内部的 javascript 执行引擎,它优异的 JIT 能力,以及高效的垃圾回收,使得 chrome 成为最快最成功的浏览器。v8 仅仅被用在浏览器中有些暴殄天物,于是十多年前(2009),Ryan Dahl 把 v8 引入了服务端,创建了 node.js —— node 以简单容易上手的编程模型(单线程,异步处理)和大量的前端拥趸一举成为广受欢迎的服务端开发工具;而 3 年前,Ryan Dahl 自我革命,重新用 v8 从零打造 deno,意欲让 deno 成为下一代服务器开发的王者。

03

基于Chrome插件的开发工具链

在项目开发过程中,时不时会碰上需要使用一些工具来做一些自动操作或者附加功能。特别是有一些外部组件只会提供Web工具,或者如果产品会发布在Web上的时候,在线上的产品中加调试指令显然是不安全的(前段时间刚好有携程线上服务器暴露的调试接口,导致用户信息泄露的事故)。这时候我们就可以借助Chrome来制作一些特别的小工具。 使用Chrome来自作工具有几个好处:其一是对熟悉Web开发的人而言,它用得全是Javascript(当然你也可以用Go语言)和HTML,没有太多额外的学习成本,而且现在的Chrome对HTML5标准支持得也比较好,基本的功能都可以实现;其二是不需要花多少时间在UI方面(作为一个后台开发表示The easier the better);其三是在需要的时候,还能开发为App,直接运行(另外还有一个项目叫Nodejs-webkit,提供了打包成不依赖Chrome本地应用的功能,而且底层用了nodejs,提供了更加强大的系统资源访问的功能)。总而言之,作为开发工具而言已经绰绰有余了。

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券