[譯] 不懂 JavaScript?那你就不是一個 Web 開發者

jopen 9年前發布 | 15K 次閱讀 JavaScript

不懂 JavaScript?那你就不是一個 Web 開發者

文章翻譯: 張月

發表時間:2015 年 7 月 01 日

原文作者:MARIO CASCIARO

文章分類:web 開發

關于本文

什么是當下最流行的 Web 開發技術?作為一個 Web 開發者需要具備哪些技能?Web 開發未來發展如何?本文作者 MARIO CASCIARO 將一一為你闡釋。

文章內容

MARIO CASCIARO 是一位軟件工程師,同時也是一位對開放源碼充滿熱情的技術領導者,在他近期成功出版 《Node.js Design Patterns》 這本書之后,我們聯系到他,討論了他對當今 Web 開發最重要的技術和其未來的看法。

你的綜合技能里可能還沒有勝任 Web 開發的最佳技術

我曾參與一個小的輔助項目,當時我盡可能地把新的技能付諸實踐,并嘗試一些工作職責以外的事。那是一個類似于一個社交網絡的 Web 應用程序,我選擇了基于 Java 的 Spring 框架作為主要技術堆棧和前段的骨架。大約 4 年前,作為一個 Java 高級開發人員,我認為 Java 是最有潛力的技術。它近乎完美地實現了企業 Web 應用以及核心任務的分布式應用甚至移動應用。直到 2015 年,Java 仍然是最受歡迎而且有價值的技術,但是,在做這個項目的過程中,我改變了自己的觀點——除非特別需要我不會使用它。

我記得在某個時刻,我意識到我花了很多開發時間來設計應用程序的面向對象的結構和編寫樣板代碼。為了尋找一個解決方案,我將項目遷移到 Groovy 和 Grails 上,并試圖將一個小的自己編寫的雙向綁定框架應用于前端。雖然情況有一點改善,但我依然覺得需要一種在前后端都更加敏捷的技術,這種技術更加適合 Web 開發。

Web 變化地很快,所以你的技能也需要不斷進化

我嘗試用一種從根本上在服務端不同于 PHP、Ruby on Rails、Python,或在客戶端不同于 JQuery 或骨架的技術。幸運的是,我發現了 Node.jsAngular.js ,通過使用 Node,我發現我的心態從“如何做事”轉變為“把事情搞定”。另一方面,Angular 徹底改變了我的前端開發的方法,它大大減少了我之前使用的樣板代碼。但最重要的是,我意識到 JavaScript 和它的生態系統正在成為一個重要的事情。

現在我根本不會考慮構建一個 Web 應用而不將 JavaScript 作為我的首選。 npm 上數量驚人程序包表明 Web 已經轉向 JavaScript。

在這件事中,令我印象最為深刻的是,我意識到這些新技能對定義我的職業生涯的重要性;如果我想構建 Web 應用,JavaScript 及其令人驚嘆的生態系統已經成為我努力學習的重點。在我負責創建的項目中,這將促使 Node,Angular 以及其它前沿的 JavaScript 技術對項目的成功起到至關重要的作用。

使我對 JavaScript 的興趣達到高潮的是我在6個月前出版的一本書— Node.jsDesignPatterns —這本書包含了我投入 JavaScript 以來積累的寶貴經驗。

Web 開發者需要具備的技術和能力

如果我不得不給 Web 開發初學者一些建議的話,我絕對推薦從學習 JavaScript 開始。5-6 年前我不敢這么說,但今天它是讓你同時能從前端和后端開始學習的唯一語言。此外,JavaScript 和 HTML、CSS 等其它 Web 技術的組合,如 nw.jsApacheCordova , 可以令你獲得更廣泛的應用程序。

PHP,Ruby 以及 Python 仍然是非常流行的開發 Web 應用服務端的語言,但對于已經了解 JavaScript 的人來說,Node.js 才是更加自然的選擇。它不僅可以節省你學習一種新的語言的時間,還提供了一個集成的前端,這在其它平臺是不可能實現的。也就是說,在服務器和客戶端之間共享代碼甚至實現可以同時在 Node.js 和瀏覽器上運行的同構應用。 React 是一種框架,在同構應用開發領域中,它提供了一些十分有趣的和絕對值得挖掘的功能,與此同時,我們也可以看到更多的來自 PouchDB 的功能,PouchDB 是一種同構的 JavaScript 數據庫,它將幫助開發人員比以往任何時候更容易地構建離線啟用甚至線下先行的 Web 應用。

永遠保持領先地位

今天,正如 4 年前一樣,JavaScript 在 Web 開發中已經產生了影響,未來還將發揮重要作用。

例如 WebRTC 可以在瀏覽器中創建實時的點對點的應用程序,而不需要任何附加插件。開發者已經用它來建立快速、輕量級的視頻/音頻會議應用甚至在瀏覽器中創建完整的 BitTorrent 客戶端!

另一個革命性的技術是 ServiceWorkers ,它將大大提高離線應用的能力。 WebComponents 將在前端發揮巨大的作用, Polymer 項目已經證明這套新的標準創造的好處。

關于 JavaScript 本身,Web 開發人員必須快速熟悉 ES6 標準,因為交叉編譯工具如 Babel 已經允許我們在幾乎任何平臺使用 ES6。但是我們也應該留意 ES7,因為它將包含簡化異步編程這一非常有用的功能。

最后,隨著瀏覽器逐漸成為未來的運行環境,最近發布的 WebAssembly 承諾給 Web 創造自身的“字節碼”,這可以使你在 JavaScript 中加載其它語言寫的代碼,當 WebAssembly 廣泛使用時,在瀏覽器中看到復雜的 3D 視頻游戲或運行功能齊全的視頻編輯器將變得非常普遍。JavaScript 將仍然是主流 Web 語言,但它將輔之以 WebAssembly 提出的新的可能性。

Mario 的書作為我們的 Skill Up 打包技能的一部分,5 本電子書只需 25 美元。

什么是 Skill Up?

在6月期間,我們調查了超過 20000 名 IT 專業人士,了解到他們目前正在使用的技術以及計劃在未來 12 個月內將要學習的技術,具體詳情請參閱我們的 Web 開發技能工資報告

更多IT技術干貨:wiki.jikexueyuan.com

加入極客星球翻譯團隊: http://wiki.jikexueyuan.com/project/wiki-editors-guidelines/translators.html

版權聲明:

本譯文僅用于學習和交流目的。非商業轉載請注明譯者、出處,并保留文章在極客學院的完整鏈接

商業合作請聯系 wiki@jikexueyuan.com

原文地址: https://www.packtpub.com/books/content/today-you-are-not-web-developer-if-you-don%E2%80%99t-know-javascript-and-its-ecosystem

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!