search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

全棧JavaScript程序員的崛起

JavaScript 無處不在

在以前,JavaScript 程序員就是前端開發者的同義詞,永遠與瀏覽器綁在一起。

但那已是昨日往事。Node.js 的崛起開啟了一個新紀元,從此,JavaScript 程序員可能不再是被局限於瀏覽器的前端開發者了。

相比其他高級程序語言,作為一名 JavaScript 程序員,你可以在更多的平台上發揮才能。但是現在讓我們將目光放在兩大主流領域上:瀏覽器和服務端。

為什麼我非要在這兩者中做出選擇呢?

做為一名全棧 WEB 開發人員需要面對的問題

有句古話說得好:「什麼都懂但沒有一樣通」, 每次花時間探索新的領域,你都是在浪費足以讓自己成為某一領域專家的時間。

「假如我被困荒島,唯一能夠獲救的方法是做出一套漂亮的用戶界面,我將毫無疑問的死在島上」 —— Linus Torvalds,Linux 的創始人

成為全棧開發者最大的風險就是在前後端都表現平庸,這比只擅長一種而對另一種全然不知更糟。

在憤世嫉俗的人眼中,全棧開發者是「一幫將 bug 引入軟體棧每一層的傢伙」。

原因是開發技術一直在發展。我們面對的問題變得越來越複雜,解決這些問題的技術自然需要發展。幾年前,學習 JavaScript 只需要掌握經典的 ES6 就夠了,但今天,如果從零開始,我需要掌握同時 ES3 和 ES2015(ES6)。了解最前沿牛逼的技術不等於說我就可以不顧基礎了。

對於web前端的學習有不懂的,或者不知道學習路線,不知道學習方法,不知道該如何紮實能找到工作的朋友,我還是要推薦下我自己建的前端學習群:477149581,首先你要是前端黨,其次不管你是小白還是大牛,我都挺歡迎,小白嘛,主動點多問問題也就學好了,群里每天分享乾貨,包括我自己最近花了一星期整理的一份適合2017年自學的最新web前端資料,送給大家,歡迎初學和進階中的小夥伴。

全棧記

每一種開發技術棧都有屬於自己的小世界。

每一種語言都有自己的 WEB 開發框架。Python 有 Django,Ruby 有 Ruby on Rails。

還有,每一種技術棧都有自己的包管理器,工具庫和獨特的語言結構,在這些棧背後是一群充滿熱情的人,他們可能是博客作者、企業開發人員或者是開源軟體貢獻值。

每一種技術棧都有自己的長處和弱點。

比較不同的技術棧是沒有意義的

一旦你決定要成為全棧開發者,你將不可避免的在兩種技術棧中徘徊。一種是你深愛的,為之充滿激情。另一種便是 JavaScript。

一些人之所以如此討厭 JavaScript,部分原因是他們沒有選擇的權利,只能被 JavaScript 選擇。

當 WEB 開發者想寫一些前端代碼的時候,同時又不希望使用惱人的插件,JavaScript 就成了唯一的選擇。

有人嘗試過創造一種語言去取代 JavaScript,但最終編譯出來的 JavaScript 代碼質量往往不盡人意。作為它們中的一員,我不方便指出(CoffeeScript),被 71% 的開發人員所畏懼!簡直是要超越 wordpress 的節奏。

無論如何,JavaScript 統治著瀏覽器, 是瀏覽器唯一願說的語言。

有不少非常聰明的男性和女性嘗試讓瀏覽器說不同的語言,結果是不少非常聰明的男性和女性都失敗了。

食古不化的瀏覽器。

JavaScript 的優勢

讓我們換一種角度來看事物。

如果說你深愛的,為之充滿激情的技術棧就是 JavaScript 棧呢?

如果是你擁有 JavaScript,而不是它擁有你

如果你選擇 Node.js 作為後端開發框架, 你將獲得其他技術棧開發者夢寐以求的一些優勢。

選擇 Node.js, 你就選擇了統一而不是分散你的技術棧,你選擇至始至終地使用 JavaScript。

你不用再去尋找 Ruby 或者 Python 中的 Lodash 工具庫,直接使用 Lodash 就是了。當然,你可能說pip install和bundle install用著還挺順手,但最後你還是得解決 JavaScript 的依賴關係。

但如果你選擇 Node.js,你可以使用npm install安裝所有的東西,無論是在客戶端還是服務端。

代碼重用率那叫一個高,如果你發現自己正在實現一個左側字元填充功能,你只需要寫一次就行了,在一種語言中,而不是兩種。

如果你跟隨 Universal JavaScript 的腳本,你可以寫出一個可以同時在客戶端和服務端跑的 web 應用。

如你所見,選擇全棧 JavaScript 的好處是巨大的。很多時候,當你在編寫前端代碼時,你會發現一些知識同樣適用於後端,反之亦然。

儘管全棧 JavaScript 開發者的日子要比其他全棧開發者好過得多,但你仍需要掌握前後端領域的專業知識。Node.js 和瀏覽器都說 JavaScript 一門語言,但編寫運行在瀏覽器中的前端代碼和跑在伺服器上的後端代碼還是有很大不同。

那麼,作為一名全棧 JavaScript 開發者,是不是就必須不斷地工作在前後端?

70/30 原則

有人說並沒有所謂的全棧 WEB 開發者,你要麼是面向前端的,要麼是面向後端的,必須做出選擇。

我對此表示理解

一名在前後端分別精確投入 50% 的開發者就像是謎一樣的生物,傳說中的小妖精。

你在想著小妖精能實現你所有的願望並給你一壺金子,結果發現小妖精根本不存在。你只是喝醉了,在和一個穿著綠色外套的侏儒說話。

真相是全棧開發者,要麼是面向前端的,要麼是面向後端的

明白自己屬於哪一種對你只會有好處。意識到自己是更偏前端的全棧開發者並不妨礙你同時擅長後端技術,只不過你會自然的投入更多精力去打磨前端能力。

所以我推薦 70/30 原則

如果需要花一年的時間實現一些功能,同時你可以選擇實現哪些功能,將 70% 的時間用在自己傾向的技術棧領域,剩下的 30% 投入到其他開發工作中。

你供職的公司可能不鼓勵全棧開發,如果在公司只能做後端開發,為什麼不自己做一個前端的個人項目呢?沒有什麼東西是一成不變的,今年還是傾向後端的開發者明年就可能傾向前端。我想說的是,給自己一個準確的定位,合理安排時間。如果你是一位傾向前端的全棧開發者,將重心放在打磨自己的前端開發能力上,同時留 30% 給後端,確保不被落下。

事實上,你完全可以成為一名前後端都牛逼的全棧開發者,只要你願意。

做一名全棧 JavaScript 開發者的樂趣

在近期 Stackoverflow 的一次調查中,絕大部分的開發者都把自己定義為全棧 WEB 開發者。同時,有 85.3% 的開發者多少懂一點 JavaScript。

是什麼原因讓全棧開發者變得如此流行?市場選擇,不願意在前端和後端之中做出選擇,還是全棧開發者那不可否認的性感魅力?

我想答案其實很簡單

全棧開發樂趣多

作為一名開發者,最棒的事之一就是一人獨立操辦前後端帶來的滿足感

從你創建的用戶界面發出數據,在用自己創建的 API 接收,然後保存或者處理這些數據。看著其他人使用你創建的功能,從前端到後端,是一種難以描述的美妙體驗。你不禁會想「我創造了它,在這之前這是不可能的,但現在卻因為我成為了可能」。

屬於全棧 JavaScript 開發者的新篇章

JavaScript 的生態系統一直在發展,從最初的瀏覽器到後來的服務端,今天我們甚至走得更遠。移動應用、Bot Frameworks、物聯網、3D 遊戲甚至是虛擬現實都可以採用 JavaScript 進行開發。

作為全棧 JavaScript 開發者,我們得保證至少精通一個領域。同時,軟體開發的大門始終是敞開的,你可以對各種流行技術和前沿科技進行探索,且不用擔心忽略了自己的 JavaScript 技能。作為全棧開發者的一個最大好處就是能持續地學習新事物,將其內化並掌握。

JavaScript 就是你的畫布,把它變漂亮吧!



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦