本文做者爲Fundebug技術負責人Kevin。javascript
這些年,JavaScript生態系統異常活躍:ECMAScript打破多年的沉寂,每一年都會給咱們帶來新的特性,像async函數這種語法爲咱們減小了大量冗餘的代碼;JS你們庭的其餘成員也都在進步,從前端到後端,從底層的JS引擎到上層的NPM庫,你們熱愛的Vue正在重寫3.0;就連古老編輯器也能帶來新的驚喜,Visual Studio Code超越各類其實還不錯的競品,成爲最受JSer歡迎的IDE;MicroSoft終於放棄了倒騰不同凡響的瀏覽器,選擇加入Chromium陣營,將來你們終於能夠少糾結一點兼容問題了...html
2018也是一樣精彩的1年,JavaScript都經歷了什麼呢?前端
The State of JavaScript調研已經連續作了3年,今年一共調研了2萬多個JS開發者。有這樣一些有意思的發現:java
做爲一個後端用Express框架,儘可能使用最新的ECMAScript語法,而前端用着TypeScript,不過框架仍是AngularJS 1(這事要怪版本帝Angular不向後兼容),拋棄價值70刀的Sublime,今年加入VS code陣營的JSer,我也是算是夠主流了吧!那你的技術債是怎樣的呢?jquery
TC39(ECMAScript標準委員會)這些年愈來愈勤快了,從2015年(ES6)開始,每一年發佈一個新的ECMAScipt標準。ECMAScript 2018,即ES9,則在6月如期發佈了,其新增的特性並很少:git
主要新特性:github
新的正則表達式特性:正則表達式
s
(dotAll
) flag for regular expressions其餘新特性:express
若是想了解ES9的細節,闊以看看Axel Rauschmayer博士寫的Exploring ES2018 and ES2019。npm
Node 10在4月發佈而且在10月成爲LTS,即長期支持版本。
Node 10使用了新的V8引擎6.8,所以性能提高了不少,好比Promise與Async函數的性能提高就很是明顯,所以建議你們升級。
Node新版本的發佈日期一直很是穩定,作到這一點也是不容易啊!
在Vue.js Conference Toronto 2018上,尤雨溪發表了主題演講Vue 3.0 Updates,新版本將會有這些變化:
Vue 3.0與其說是更新或者重構,不如說是重寫,由於變化很大,可是同時會保證向後兼容。Vue 3.0預計將在2019發佈,你們一塊兒期待吧!
2年多時間commit了4000屢次,Babel 7終於發佈了,新增了下面這些特性:
主流瀏覽器對新的ECMAScript特性已經支持得不錯了,不過仍是存在而且永遠存在不少非主流瀏覽器,因而咱們仍是離不開神奇的Babel。
曾經風靡一時的jQuery發佈了3.3.0,這個版本放棄了(deprecated)一系列方法:
這些方法大多會在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開發者沒啥好擔憂的:
同窗們,不要輕易相信標題黨。。。
對於《重構:改善既有代碼的設計》這本書,我想大多數人都沒看過,可是至少應該都據說過。這本書剛出了第二版,全部示例代碼由Java改爲了JavaScript。
根據做者Martin Fowler的解釋,**《重構》這本書重點在於思想,適用於各類編程語言,因此選擇什麼語言並不重要。**而他選擇JavaScript的緣由很簡單,由於JS既支持面向過程編程,又支持面向對象編程,這樣方便寫非OOP代碼重構的示例。
前端大神尤雨溪說過這樣一句話:
至於重構、設計什麼的,我只想說,看的是使用的人的水平,跟用什麼語言沒那麼大關係。水平爛的人用 TS 同樣寫的是翔同樣的代碼,看看 java 就知道了。
《Refactoring》的示例代碼用什麼語言寫根本不重要,重要的是背後的編程思想。順便推薦一下《Clean Code》。若是基本的編程習慣和思想沒有提高的話,換個語言或者框架是沒用的。
這本書原價54.66刀,的確有點貴,不過算是必讀書,你們看着辦。。。
另外,GitHub的技術極客們花了數年時間,以很是規範的流程徹底移除GitHub網站了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更名。固然這基本上是不可能的,這輩子都不可能。。。
本文靈感來自JavaScript Weekly週報,歡迎你們訂閱。
轉載時請註明做者Fundebug以及本文地址:
blog.fundebug.com/2018/12/25/…