現代Web開發需要學習的15大技術
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
將近4年前,我寫了一篇名為《Future of Web and Mobile: HTML5, CSS3 and Javascript》的部落格文章,其中我提到了Javascript的出現,以及JavaScript框架,例如jQuery、Knockout等的爆發。
快進到現在,我發現現代web開發再一次將發生壓倒性的改變。資訊資訊的鋪天蓋地令人迷惑,尤其對於初學者而言。首要原因是新的框架,例如Angular 2和ReactJs出現了,使用了尚未完全定型的ECMAScript 6特性。並且有更多的工具可用於轉換ES6程式碼為普通的舊的JavaScript程式碼,也就是ES5。
我概括了一系列我們應該學習的程式語言/工具,以便於理解勢不可擋和快速變化的現代web開發。
JavaScript
這是唯一一種所有瀏覽器都理解的程式語言,並且它是前端開發的支柱。JavaScript也被稱為ECMAScript,ES 5。在深入其他語言之前好好理解這門程式語言非常重要。
ES6
這是Javascript語言的擴充套件,而且許多瀏覽器正在實現ES6。好處是哪怕是現在,你也可以開始編寫ES6程式碼,因為你可以使用transpiler(轉譯器)如Babel來轉換ES6程式碼為ES5程式碼。經歷這些並瞭解新功能是一件好事。不過,沒有不要鑽研得太深因為它們很容易發生變化。
Babel
這是最流行的ES6到ES5轉譯器之一。此外,它還被許多框架,如React所推薦。要想實時地將ES6轉換為ES5程式碼,在https://babe
<wbr><wbr>
需要注意的是Babel不僅僅是ES6到ES5的轉譯器。它也是JSX到JavaScript的轉譯器。不知道什麼是JSX?那麼請看下面。
NodeJS
NodeJS是一個伺服器端平臺,它允許你用JavaScript語言構建後端。為什麼我要提NodeJS呢?這是因為,即使你對後端開發不感興趣,但是許多前端工具依賴於NodeJS。至少要熟悉node和它的命令列工具。
NPM
NPM是node的軟體包管理器。就像pip之於Python,ruby gems之於Ruby,以及Maven之於Java。瞭解如何安裝/刪除/升級軟體包,尤其是package.json檔案結構。
Grunt或Gulp
這兩個是執行在Node平臺上最為流行的任務執行器。從技術上講,它們是針對npm的軟體包。它們允許你自動化許多前端任務,如Lint原始檔,串聯,縮減,部署以及更多。
Bower
這是用於前端庫本身的一個軟體包管理工具。想新增Jquery到你的應用程式?和使用bower install jquery
一樣容易。
上述工具用於基本的前端開發已經足夠。不過下面我還要說一說兩個最流行的框架,即React和Angular。
ReactJs
ReactJs是構建檢視最流行的前端庫。請注意,它不僅僅是MVC中的V,因此和框架如Angular沒有比較性。ReactJs是用ES6寫的,並且可以用Babel轉譯為ES5。它還使用也可以用Babel轉譯為JavaScript的JSX。
WebPack或Browserify
這兩個都是最流行的模組打包機。它們可以獲取js原始碼,找出正確的依賴關係,併發出可以驅動整個應用程式的JavaScript檔案。我更喜歡WebPack。點此檢視關於WebPack。
Flux或Redux
React元件被佈置在一個層次結構中。大部分時間,資料模型遵循層次結構。在這種情況下,Flux並不怎麼有用。然而,有時候你的資料模型是不分層的。當你的React元件開始接收外部道具,或你有少量的元件開始變得非常複雜的時候,那麼你可能會想要試試Flux。
Immutable.js
Immutable.js提供了一套資料結構,可以幫助解決在構建React app時的某些效能問題。這是一個偉大的庫,你可能會在你的app中大量使用它,但是當你關注於效能影響時,它就完全沒用了。
Angular 2
Angular 2是JavaScript中最流行的MVC框架之一的下一個版本。它被完全重新設計過了,並且有一條陡峭的學習曲線。全面支援雙向資料繫結。在選擇Angular 2開發時要小心評估。
TypeScript
Angular 2推薦TypeScript作為程式語言的首選。我不是很熟悉TypeScript,但我認為它增加了靜態型別到Javascript的動態特性中。最後,我相信它只是一個轉譯器。
Service workers
實驗性的API。它就像是在瀏覽器用於做各種工作的一個後臺執行緒。我想它也增加對離線瀏覽的支援。
Fetch API和Push API
請自行閱讀連結。因為到目前為止我自己對此也是知之甚少。
譯文連結:http://www.codeceo.com/article/15-teches-web-developer-need.html
英文原文:Things to learn for Modern Web Development
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 入門 Web前端需要學習哪些技術?Web前端
- 現代前端開發技術棧前端
- 學習大資料需要掌握的知識,需要學習的資料技術大資料
- 大資料開發技術學習方向大資料
- 學大資料需要掌握的知識,需要學習的資料技術大資料
- 現代Web開發方法Web
- web前端開發需要哪些工具和需要學習什麼?Web前端
- 大資料工程師需要學習哪些技術?大資料工程師
- 現代 CPU 技術發展
- 為什麼從事雲原生開發需要學習容器技術
- 大資料學習開發技術:MapReduce執行原理大資料
- 【Web技術學習】PHP學習筆記WebPHP筆記
- Java Web開發技術JavaWeb
- Web前端開發掌握的技術Web前端
- Web開發技術的演變Web
- 2015年Web技術發展的五大趨勢Web
- 新技術新框架不斷湧現,目前學習web前端開發都要掌握什麼?框架Web前端
- Java開發2018年值得學習的10大技術Java
- 作為一個SAP開發人員,需要學習SAP傳統技術(比如ABAP)以外的開源技術嗎?
- Web開發學習Web
- Web開發技術未來的發展Web
- 做Java開發需要哪些技術?Java
- Web前端技術分享:學習HTML和CSS的5大理由Web前端HTMLCSS
- web開發學習之旅Web
- Python Web開發需要學習什麼?Python基礎!PythonWeb
- 入門web前端需要掌握的技術Web前端
- 學習web前端開發的原因Web前端
- web開發框架技術有哪些?Web框架
- 當前最火的web開發技術Web
- 大資料技術學習路線,有信心能堅持學習的朋友,從現在開始吧大資料
- 登入工程:現代Web應用中的身份驗證技術Web
- [譯]2015年web開發需要注意的事Web
- 為什麼 Web 開發人員需要學習一個 JavaScript 框架?WebJavaScript框架
- 如何學習Java Web開發JavaWeb
- 學習軟體測試需要掌握哪些技術?
- 軟體測試需要學習什麼技術?
- 2018 年,學習WEB前端開發應該關注哪些新技術?Web前端
- 初學web開發需要掌握哪些方面?Web