『浏览器』Flash已死,Deno当立?( 二 )


【『浏览器』Flash已死,Deno当立?】不过凭心而论 , Hilo 并不是 Flash 的终结者 , 一切都在 iPhone 开启移动时代后 , 应用的技术也随之发生改变 。
Flash 错失移动时代
2007 年 , 苹果推出了初代 iPhone , iPhone 的出现给 Adobe 移动端开发带来了问题:Flash 插件运行上的缺点被放大 , 随着 Flash 日益臃肿 , 需要大量计算资源才能支持其动画的渲染 。 在手机端 , Flash 运行需要消耗大量电力 , 但手机的电池有限 , 以至于苹果选择不支持 Flash 。
Flash 需要重新开发才能适应 iPhone , 然而 Adobe 并未能和苹果达成最终的合作协议 。 这个决定为苹果招来了不少批评 , 人们认为乔布斯不支持 Flash 反应了苹果的封闭 。 为此 , 乔布斯在 2010 年发表了一封公开信 , 表示“iPad 永远不会支持 Flash” , 并指出了 Flash 的问题:耗电严重、安全漏洞多 , 不适合苹果的移动系统 。
在苹果表态后 , YouTube 等网站开始采用基于开放标准的免费软件 , 这些技术既适合桌面端也适合移动端 。 2014 年 10 月制定的 HTML5 标准也成为 Flash 的替代品被广泛使用 , 网站可在没有插件的情况下运行视频和动画 。 Adobe CEO Shantanu Narayen 曾表示 , Flash 仅占 Adobe 营收总额的一小部分 。 因此没有对 Flash 持续进行输血 , 这也加速了Flash的落幕 。
雪上加霜的是 , Flash 近年来频繁爆出安全漏洞 , 这给 Flash 带来了更大的打击 , Gartner 高管 Danny Brian 在2014年曾表示 , Flash 的消亡已经不可避免 。
Node 之父反 Node , Deno 强势崛起?
去年底 , Node.js 之父 Ryan Dahl 在柏林 JS 大会上发表了题为《Design Mistake in Node》的主题演讲 , 表示“Node 失误太多无法回避 , Deno 前景明朗” 。
“Deno”是 Node 的反写 , 有反 Node 的意思 , 目前看 Node 与 Deno 的主要参数比较如下:

项目
Node
Deno
入口
package.json配置
import url 直接引入
API 引入方式
模块引入
全局对象
安全
无安全限制
默认安全
Typescript
第三方 , 如通过 ts-node 支持
原生支持
包管理
npm + node_modules
原生支持
异步操作
回调
原生支持Promise
包分发
中心化 npmjs.com
去中心化 import url
打包、测试、格式
第三方eslint、gulp、webpack、babel
原生支持
Deno 的确针对 Node 的很多缺点进行改进 , 笔者在两行代码的库引发“血案”:坑了数百万个项目曾经介绍过 , Node.js的依赖管理可能会引发小项目引发大血案的情况 。
笔者认为 , 与 Flash 底层插件运行的方式不同 , Node 的缺陷并不是无法解决的 , Ryan Dahl 提出 Deno 应该有督促 , 请 Node 社区尽快直面问题的考虑 。


推荐阅读