JavaScript: 2015 年回顧與展望

連接:http://www.sitepoint.com/javascript-2015-review/javascript

JavaScript經歷了一個不平凡的一年。儘管到5月份已經20年了,關於JS的新聞、項目和興趣繼續成倍增加。或許這是一個奇怪怪圈,可是我想不出另外一個技術有相似發展速度。JS變得愈來愈難以跟上,因此我但願這篇總結文章有助於你們更加了解JS.php

ECMAScript 快速發展css

七年的漫長等待,在2015年6月ECMAScript Harmony 或ECMAScript6.0 規範正式發佈。前端

ES6很快又稱爲ES2015,儘管我不知道有誰這樣叫過。名字的更改是好的;2015年完成了規範。JavaScript引擎如今能夠徹底支持ES2015並且每一個人都能理解。不幸的是,營銷類不會喜歡這點;沒人回叫ES2015,彷佛2016年一月一日它聽起來就過期了。vue

ES2015對開發者來講意味着什麼?作好準備吧相似:java

  • classes
  • enhanced object literals
  • let and const
  • arrow functions
  • template strings
  • iterators
  • generators
  • destructuring
  • proxies
  • weakmap and weakset
  • symbols
  • promises
  • reflection

其中大部分是語法糖。例如,JavaScript將保存原型繼承可是提供classical 繼承,例如對於那些從其餘語言遷移來的開發人員提供了 class 結構。node

ES2015的支持仍然是不完整的,可是可使用轉換器如Babel 將大部分代碼轉換爲ES5。這樣也很好可是須要額外的工做使測試和調試變得更加複雜。就我我的而言,我是一個JavaScript勒德分子更喜歡舊的東西直到它的支持獲得改善。react

可是從如今起忘記ES2015 -- 讓咱們繼續ES7/2016!git

JavaScript復仇者聯盟程序員

 隨着WebAssembly的公佈,引發一陣狂熱;一個低級地二元包裝類集合的web語言!

     向瀏覽器發佈大型應用程序並不老是可行的。一個遊戲或複雜的程序須要下載數百兆源代碼,編譯成字節碼並最終以機器代碼運行。WebAssembly經過編譯源碼成一個更簡單/更快的處理使這個過程更有效,Javascript引擎兼容字節碼而且打包在一個緊湊的二進制文件裏。瀏覽器代碼將所以下載而且更快的開始。沒有必要比正常的JavaScript運行更快可是能夠優化。

    咱們以前已經見過二進制的土地。Flash, Silverlight, Java和Google Native Client(NaCI)全是相似的。可是WebAssembly應該有更好的機會展示它。

    1. 須要相對簡單的JavaScript引擎的變化

    2. 不須要瀏覽器插件,而且

    3. 須要Google, Microsoft, Mozilla 和Apple的支持

    興奮嗎?你最好溫習下你的C/C++技能,由於他們是第一個WebAssembly編輯器的目標。

Node.js 分叉
    Node.js從2014一個小衆技術變成2015的必備技術。Node.js無處不在;桌面, 服務器,樹莓派,嵌入式設備等等。即便來着其餘領域的開發人員採用Node.js使用構建工具例如Grunt和Gulp。

    2015年見證了關於Node的的黨派爭論並以與io.js合併結束。這意味着Node.js v0.12將在9月份被Node.js v4.0取代。是的,這是一個3個整版本的跳躍由於io.js已經達到版本3.0,也不能倒退了。

    固然,版本號碼也不意味着什麼。。。除了那些如今認爲Node.js 4+比Ruby 2he Python 3更先進。V5會在一個月後到達,他也會取代.NET4. 而且在速度上會遇上PHP7!

框架疲勞

    2269個新的JavaScript框架在2015年發佈了。我虛構了這些數字絕對沒有研究過,可是不多有人會懷疑的。很難去追逐這些框架。。。

  • AngularJS依然很流行可是使用上已經達到穩定,它在2016年推出2.0版本會有更新。
  • React 已經吸引了濃厚的興趣。
  • Meteor 承諾一個全棧同構JavaScript應用平臺。
  • Vue.js 達到版本1.0 而且Aurelia發佈了。
  • Ember, Knockout Backbone.js已然健在
  • 其餘,例如Rendr, 看起來他們會受歡迎,可是卻沒有。

對於JavaScript開發者是不可能有信心去依靠一個特定的代碼庫。對於一體化框架能解決不少問題可是也能引發不少問題。依賴一個框架是很是危險的,根據這篇文章--前端Javascript依賴是徹底錯誤的明智建議,須要提取框架底層技術。

    若是你必須使用一個框架可是從不認爲長期是可行的。新的、更好的框架替代品在你開發一半的時候出現。永遠不要忘了框架是一個選項--你不須要必定要用。小而靈活,最小的依賴關係的項目是一個更安全的賭注。

工具浪潮

你還記得那些無憂無慮的日子嗎,web開發只須要一個瀏覽器,一個文本編輯器和一個FTP客戶端。如今你須要Node.js, Gulp/Grunt, git, 靜態HTML生成器, Sass編輯器, Autoprefixer, minifiers, uglifiers, linters, 瀏覽器同步和一系列其餘構建工具來一個基本的「Hello World」頁面。

    這是好的。咱們正在開發更加複雜的web程序,工具讓咱們自動化平凡的流程,把精力集中到更有趣的棘手部分。2015是一個偉大的一年,由於:

  • Atom 1.0--GitHub的Node.js-提供可控制編輯器,在六月已經發布了
  • PostCSS - 快速的、模塊化CSS處理器,獲取了今年個人工具獎。
  • 一系列新的瀏覽器包括EdgeVivaldi加強許多開發工具。

    是的,儘管全部這些免費優化工具,網頁平均重量要多2MB,而且包含一百多個單獨文件。這是進步嗎?或許不是,若是你讀過Klint Finley的這篇文章我關閉JavaScript整整一個星期,感受太棒了。其實這不是科技的錯誤,是實踐方面。關閉JavaScript廣告、彈出框、對話框、無限滾動的頁面、社交註冊提示、時事通信和其餘一些咱們認爲在web頁面上很重要的功能。

    一些公司但願中止網頁成爲糟糕的替代品,例如Facebook InstantGoogle Accelerated Mobile Pages.我不相信一個隔離的非標準web是答案。

最後

    據官方消息:Node.js比PHP更好!無能否認地,這篇文章沒有作出這樣的表態,可是它說明了Node.js已經到來。或許PHP正在提升版本7的速度來得到贏的局面,可是最後使用任何讓你以爲舒服的語言。很有爭議地,最近他們WordPress.com前端從PHP轉換到Node.js.可是我懷疑指的更多關於Colypso項目的狀態而非語言。

    2015年的技術術語是「同構」。SitePoint已經討論過,提供了示例代碼. 可是其實這意味着JavaScript代碼一次編寫任何地方都能工做 - 在瀏覽器或者服務器上。對於小型獨立的應用程序一開始是相對簡單,但很快就會變得極爲複雜。

    jQuery 3.0首次在7月發佈。承諾發佈兩個新的版本;一個用於現代瀏覽器,一個兼容版包括兼容IE8。團隊期待一些有成就的突破改變。

    11月,Mozilla宣佈他們將中止銷售JavaScript驅動的Firefox操做系統的智能手機。

    這不是Firefox 操做系統的終結 -- 開發繼續,並會應用到一些智能TVs -- 可是這些信號是很差的。或許最好是押注在一些還未知的操做系統的安裝,離線web應用程序?

    2015年最讓人驚喜的JavaScript公司來自Microsoft:

  • Visual Studio Code,一個新的跨平臺的擴展, 相似Sublime Text/Atom編輯器
  • vorlon.js, 一個開源的遠程調試和測試公司,
  • Chakra, Edge的瀏覽器引擎,

    鑑於最近開發網絡,或許咱們應該將該公司成爲「新微軟」?

展望2016

    對JavaScript的態度已經改變了。幾年前(不公平)JavaScript被嘲笑雖然難以理解,程序員避開有bug的腳本語言。如今,你沒法避免這個語言,2016年工具、框架和項目的發展將會繼續。

    雖然不容易跟上,可是迴歸JavaScript不會有太大問題。

 標籤: 2015 回顧、ES2015, es6, javascript框架、JavaScript工具、node.js、WebAssembly

相關文章
相關標籤/搜索