研讀JavaScript全棧開發員:雲時代的奇蹟
據今年Stack Overflow網站對廣大開發人員的調查顯示,最常見的一群開發人員是二十出頭的JavaScript全棧開發員。全棧(full-stack)這個短語意指“能夠從頭開始編寫Web服務”。全棧開發員能夠使用亞馬遜網路服務(AWS)API,處理Ubuntu作業系統,編寫JavaScript程式碼,並且提供介面。
不過這其實並非雲端計算,不是嗎?JavaScript開發員可不在乎雲端計算的細枝末節,比如RAID配置、核心模組或應用程式故障切換。他也不在乎OpenStack的未來,不在乎Lattice是不是比Cloud Foundry更容易使用。JavaScript全棧開發員與雲端計算到底有什麼關係呢?
雲端計算堆疊
IT人員喜歡堆疊,因為堆疊的上層隱藏了低層的複雜性。雲端計算技術堆疊看起來就像這樣:
- 頂層是應用程式――各種各樣的計算機程式,從Apache到Zabbix,不一而足。
- 中間層是作業系統――我們們實話實說吧,Ubuntu在這方面勝出。
- 底層――雲服務提供商
JavaScript堆疊
JavaScript堆疊是位於雲端計算堆疊那個頂層的多種型別的工件(artifact)當中的一種。JavaScript堆疊實際上與其說是一種堆疊,還不如說是一種軟體包:該軟體包既涵蓋伺服器端計算,又涵蓋客戶機端計算。
伺服器端確確實實含有軟體堆疊。底層是谷歌公司的V8 JavaScript引擎,Joyent公司的Node.js伺服器建立在V8上,編碼框架則位於Node.js的基礎上。伺服器端儲存區是NoSQL資料庫――傳統的關係型資料庫管理系統(RDBMS)根本就不是很酷。客戶機端包括另一種應用程式框架(如果你聽到開發人員把這一切現成的程式碼稱作樣板,那麼他很可能是全棧開發員群體當中的一員)。
千萬不要低估了大批開發員的耐心。以色列開發公司Linnovate拿來伺服器端資料庫Mongo、伺服器端Express框架、谷歌的客戶機端框架AngularJS以及Node.js後,隨後進行了一番整合工作,開發出了MEAN.io。MEAN軟體包將這些元件的安裝和配置簡化為只有一行的命令。這種簡化工作對開發人員來說如同小菜一碟(這也就是開發人員覺得Docker和Vagrant如此吸引人的原因之一)。
JavaScript開發人員的工具箱包括更多節省時間的軟體,這些軟體的名稱好像是從字典裡隨機選擇似的。你會喜歡Jasmine還是Mocha?不知道。會喜歡Grunt還是Gulp?說不準。喜歡D3還是Epoch?拜託,到此為止吧。
JavaScript全棧開發員
全棧開發員的想法是,面向Web、完全從軟體的視角看待技術世界,這在雲端計算之前是不可能做到的。十年前有的只是從O'Reilly Web2.0視角看待Web,而現在是從全棧視角看待Web。
全棧開發員是專家級的JavaScript程式設計人員,能夠處理這些全棧工具,諳熟HTML5和CSS等其他語言(沒錯,這些是語言),而且瞭解AJAX、單頁應用程式和充分利用代表性狀態傳輸協議(REST)的Web服務等概念。
與所有IT技術迷一樣,JavaScript全棧開發人員也被嶄新的技術所吸引。如果說企業投資者是闊綽的後臺老闆、系統管理員是不修邊幅的傢伙,那麼JavaScript全棧開發員就是趕時髦的人。他們一點也不像擅長LAMP堆疊或PHP驅動的CMS的人群。而全棧這個短語讓這一批新的JavaScript開發員有別於昔日微不足道的JavaScript前端開發員。
站在巨人的肩上
你可以說,這些JavaScript全棧開發員與雲端計算沒有半毛關係。他們的日常工作與構建或執行大規模分散式雲端計算系統毫無關係。他們可能在滑雪旅行間歇為小公司製作漂亮的網站,從不考慮那些雲API後面的東西。
但這其實是一種誤解。這些開發人員的工作恰恰離不開雲端計算的存在。JavaScript全棧開發員好比站在巨人的肩上。JavaScript全棧開發員很可能是開發運營(DevOps)文化圈的一員,構建彈性系統,並使用版本控制系統來編寫程式碼。他關注架構、監控和容量,他每天都在耗用雲端計算資源。
如果拿顯微鏡來細細研讀JavaScript全棧開發員,研究這個群體。你就會發現這是雲端計算時代的諸多奇蹟之一。
相關文章
- 小程式的全棧開發新時代全棧
- 全棧 JavaScript 開發圖景全棧JavaScript
- Meteor:全棧JavaScript開發框架的先驅全棧JavaScript框架
- 2017 全棧開發人員修煉指南全棧
- 全棧式JavaScript全棧JavaScript
- FEer到全棧開發全棧
- 基於JavaScript的現代Web應用全棧開發:MEANJavaScriptWeb全棧
- 七牛雲招聘~高階全棧開發工程師全棧工程師
- 全棧開發自學路線全棧
- [杭州]先臨三維招聘全棧雲開發工程師全棧工程師
- 全全全棧測試開發學習路線全棧
- CODING —— 雲原生時代的研發工具領跑者
- Python 全棧開發 -- 開發環境篇Python全棧開發環境
- 我的第一部原創《JavaScript 全棧開發》正式上市了!JavaScript全棧
- Web全棧開發有前途嗎?Web全棧
- “雲”端的語雀:用 JavaScript 全棧打造商業級應用JavaScript全棧
- 零門檻的全棧體驗 小程式雲開發完整專案分享全棧
- EggBorn.js:一款頂級Javascript全棧開發框架JSJavaScript全棧框架
- 全棧 JavaScript 程式設計師的崛起全棧JavaScript程式設計師
- 全棧開發必備的 Sublime Text 外掛全棧
- 全棧必備 JavaScript基礎全棧JavaScript
- Swift 全棧開發之路 (一)protoc && SwiftPMSwift全棧FTP
- 【引向】全棧開發工程師之路全棧工程師
- Web3 全棧開發完整指南Web全棧
- 全棧式web開發技術-List全棧Web
- 美團酒店Node全棧開發實踐全棧
- 所謂全棧 - 《Web全棧工程師的自我修養》讀書筆記全棧Web工程師筆記
- 「真®全棧之路」Web前端開發的後端指南全棧Web前端後端
- 【杭州】【兼職】全棧開發工程師全棧工程師
- Django + DebugToolbar構建全棧WEB開發Django全棧Web
- Python全棧開發之—assert斷言Python全棧
- 技術創造新商業 雲研發時代的效能挑戰
- 深度好文|探尋雲原生時代應用研發新模式模式
- 走進雲研發時代 阿里雲釋出雲原生DevOps解決方案阿里dev
- 前端全棧工程化開發專題 — JS中回撥函式的深入解讀前端全棧JS函式
- 《JavaScript快速全棧開發》作者Azat Mardanov:現在是擁抱Node技術棧的最佳時機(圖靈訪談)JavaScript全棧圖靈
- web全棧開發工程師的趨勢、價值Web全棧工程師
- 「全棧開發」在就業市場的真正含義全棧就業