2019 年,JavaScript 都阅历了什么?

这些年,JavaScript生态系统异常生动:

ECMAScript打破多年的沉寂,每年都会给咱们带来新的特性,像async函数这种语法为开发者削减了许多冗余的代码;

JS咱们庭的其他成员也都在跋涉,早年端到后端,从底层的JS引擎到上层的NPM库,而咱们酷爱的

Vue正在重写3.0

;就连陈旧的编辑器也能带来新的惊喜,Visual Studio Code跨过各种其实还不错的竞品,成为

最受JSer欢迎的IDE

;Microsoft总算丢掉了倒腾异乎寻常的浏览器,挑选

参加Chromium阵营

,未来咱们总算能够少纠结一点兼容问题了…

2018也是相同精彩的一年,JavaScript都经历了什么呢?

The State of JavaScript调研

现已接连做了3年,本年总共调研了2万多个JS开发者。有这样一些有意思的发现:

绝大多数开发者都用过ES6,一同TypeScript也越来越盛行了;
React仍然最盛行的前端结构,一同Vue也越来越受欢迎了;
Express仍然是最盛行的Node.js结构,已然Node 8现已支撑async函数了,Koa的价值就大大降低了;
Visual Studio Code远远跨过Sublime,成为最盛行的JS编辑器。
作为一个后端用着Express结构、尽量运用最新的ECMAScript语法,而前端用着TypeScript、不过结构仍是AngularJS 1(这事要怪版别帝Angular不向后兼容),还丢掉了价值70刀的Sublime、本年参加VS code阵营的JSer——我也是算是够干流了吧!那你的技能债是怎样的呢?

TC39(ECMAScript标准委员会)这些年越来越勤快了,从2015年(ES6)开端,每年发布一个新的ECMAScipt标准。ECMAScript 2018,即ES9,则在6月按期发布了,其新增的特性并不多:

首要新特性:

Asynchronous Iteration;
Rest/Spread Properties。
新的正则表达式特性:

RegExp named capture groups;
RegExp Unicode Property Escapes;
RegExp Lookbehind Assertions;
s (dotAll) flag for regular expressions。
其他新特性:

Promise.prototype.finally();
Template Literal Revision。
假定想了解ES9的细节,能够看看Axel Rauschmayer博士写的Exploring ES2018 and ES2019(http://exploringjs.com/es2018-es2019/toc.html)。

Node 10在4月发布并且在10月成为LTS,即长期支撑版别。

Node 10运用了新的V8引擎6.8,因而功用行进了许多,比方Promise与Async函数的功用行进就十分显着,因而主张咱们晋级。

Node新版其他发布日期一向十分安稳,做到这一点也是不简略啊!

在Vue.js Conference Toronto 2018上,Vue.js 创作者尤雨溪宣告了主题讲演Vue 3.0 Updates,标明新版别将会有这些改动:

更快;
更小;
更易于保护;
更多的原生支撑;
丢掉Flow,运用TypeScript。
Vue 3.0与其说是更新或许重构,不如说是重写,由于改动很大,可是一同会确保向后兼容。

Vue 3.0估计将在2019年发布,咱们一同等候吧!

2年多时刻commit了4000屡次,Babel 7总算发布了(https://babeljs.io/blog/2018/08/27/7.0.0)。新增了下面这些特性:

babel-upgrade: 晋级Babel的东西;
babel.config.js:学习ESLint与Webpack,运用JS文件装备;
overrides:容许同一个项目运用不同的Babel装备,例如前端代码的targets为Chrome 60,而后端代码的targets为Node 8;

干流浏览器对新的ECMAScript特性现已支撑得不错了,不过仍是存在并且永久存在许多非干流浏览器,所以咱们仍是离不开共同的Babel。

早年风行一时的jQuery发布了3.3.0,这个版别丢掉了(deprecated)一系列办法:

jQuery.now;
jQuery.isWindow;
jQuery.camelCase;
jQuery.proxy;
jQuery.type;
jQuery.isNumeric;
jQuery.isFunction;
Event aliases。
这些办法大多会在jQuery 4.0中被删去,因而jQuery官方煽动咱们运用代替的办法。

从这个更新也能看出端倪,jQuery年代现已逐渐功遂身退 ,

GitHub网站爽性彻底移除了jQuery。

强健的V8引擎现已发布10周年了,它的命名构思来自超级功用车的V8引擎,揭露当之无愧!V8的功用一向在稳步行进:

V8引擎开端是为Chrome浏览器开发的,可是早已成为一个独立的项目。国内的许多浏览器,包括搜狗、360、猎豹、QQ、百度、UC都是依据Chromium开发的,而Chromium相当于开源版其他Chrome,天然也是依据V8引擎的。因而,许多"国产"浏览器实际上都是依据V8的。

融资了2.5亿元红芯浏览器

也不破例,他们爽性打包了Chrome浏览器的安装包,揭露有钱固执!还有,就连浏览器界的一朵奇葩Microsoft也投靠了Chromium阵营。

其他,Node.js也是依据V8引擎的。

这件事闹得沸反盈天,不过仅仅有许多噱头,假定仔细剖析黑客干了什么,其实在影响也没那么大,至少Vue开发者没啥好忧虑的:

比特币钱包copay依托event-stream模块;
黑客从骗取了event-stream模块的npm发布权限;
黑客为event-stream模块添加了依托flatmap-stream;
flatmap-stream含有黑客代码,仅会在copay项目中正确实行,盗取用户的暗码、私钥等信息,然后盗取比特币;
有人说什么Vue或许遭受侵略,其实没有这回事,由于黑客代码只会在copay项目中正确实行。只需copay项目的package.json中的description字符串"A Secure Bitcoin Wallet"能够解密黑客代码;并且,黑客的代码是为copay量身定做的,对其他项目没有效果;再说,黑客是来盗取的比特币的,又不是挖矿,你的项目有比特币给人家偷吗?
所以同学们,不要简略信任标题党…

关于《重构:改进既有代码的规划》这本书,我想大多数人都没看过,可是至少应该都听说过。这本书刚出了第二版,悉数示例代码由Java改成了JavaScript。

依据作者Martin Fowler的阐明,《重构》这本书关键在于思维,适用于各种编程言语,所以挑选什么言语并不重要。而他挑选JavaScript的原因很简略,由于JS既支撑面向进程编程,又支撑面向对象编程,这样便利写非OOP代码重构的示例。

前端大神尤雨溪说过这样一句话:

至于重构、规划什么的,我只想说,看的是运用的人的水平,跟用什么言语没那么大联络。水平烂的人用 TS 相同写的是翔相同的代码,看看 Java 就知道了。

《Refactoring》的示例代码用什么言语写根柢不重要,重要的是不和的编程思维。趁便推荐一下《Clean Code》,假定根柢的编程习气和思维没有行进的话,换个言语或许结构是没用的。

这本书原价54.66刀,确实有点贵,不过算是必读书,咱们看着办…

其他,GitHub的技能极客们花了数年时刻,以十分标准的流程彻底移除GitHub网站了jQuery:

完成了一个ESlint插件eslint-plugin-jquery,阻挠在代码中运用现已弃用的jQuery办法。这样能够避免同伴运用jQuery办法。
运用原生代码重写了2个依托于jQuery的模块jquery-pjax和facebox。
开发一个定制的jQuery版别,一旦彻底移除某个jQuery办法,就删去jQuery中的对应代码。这样既能够削减jQuery巨细,也能够避免同伴运用现已移除的jQuery办法。
依据用户统计数据,来逐渐丢掉支撑低版其他IE浏览器,这样的话能够无需依托jQuery来确保兼容性。

萝卜青菜各有所爱,是否运用jQuery各有各的主意和需求,可是GitHub弃用jQuery的流程十分专业,能够作为处理技能债的标准标准。

土豪Microsoft好像爱上了JavaScript,它家的Office 365、MicroSoft Teams以及Skype都开端运用JavaScript重写了。原因无疑是JS的跨途径特性——同一套代码多处作业,尽管现在还有许多问题,可是这样的未来不是挺好么?

此处应该再来感受一下大名鼎鼎的Atwood’s Law:

Any application that can be written in JavaScript, will eventually be written in JavaScript.

在浏览器市场上,Microsoft早年经过绑缚Windows打败了网景,不过这些年在Chrome面前落花流水,现在总算"认输",挑选依据Chromium重写浏览器。关于JSer来说,至少意味着浏览器兼容问题能够缓解许多。

依据The State of JavaScript 2018,Microsoft开发的Visual Studio Code俨然现已成为最受JSer欢迎的代码编辑器,一些盛行插件下载量高达上千万:

市值跨越Apple,重回全球市值最高公司的Microsoft有钱固执,

买下了JS开发者最多的GitHub

。从JSer的视点也能看出,IT界的罗马帝国(出自吴军的《浪潮之巅》)Microsoft又从头崛起了,这是一件很了不得的作业。

Oracle下一年就要开端给Java收费

,尽管仅仅JDK 8的u192之后的更新要收费,这个行为大概会让许多Java开发者不爽…

其他,Oracle还要求一个iOS开发者将一款叫做”HTML5, CSS, JavaScript, HTML, Snippet Editor“的App从App Store下架,由于App姓名中包括“JavaScript”字眼,而Oracle具有JavaScript在美国的商标权。

Oracle这位大爷惹不起,因而咱们正在正襟危坐地主张给JavaScript改名。当然这根柢上是不或许的,这辈子都不或许…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值