❶ 「全棧開發已死」
如果整個團隊全是全棧開發人員,不區分前端和後端,似乎是一個不錯的主意。但是在這個新時代,沒有人能夠掌握開發的所有技術。
作者 | Joe Honton
譯者 | 彎月,責編 | 屠敏
以下為譯文:
全棧的起源
在新千年來臨之際,Web工具已發展得極為成熟,創建網站所需的一切都可以通過開源軟體組建。我們可以仿照OSI網路模型,簡單地將應用程序開發的各種技術分層,而整個開發所需的技術集合稱為棧。
LAMP棧就是第一個棧,它包含四層:L表示Linux操作系統,A表示Apache HTTP伺服器,M表示MySQL資料庫伺服器,而P表示PHP腳本語言。隨著時間的推移,我們看到了分層概念的優勢,因此衍生出了許多其他棧:WAMP、MAMP、XAMPP、LEMP、LEPP、MEAN、JAMStack等等。
有了這些技術棧,我們就相當於免費獲得了軟體開發復興的鑰匙,對於有興趣創建網站的人來說,如今的門檻更低了。只要你有毅力和學習新工具、語言和協議的慾望就夠了。你不需要使用微軟螞和、Oracle、IBM或其他商業軟體。這是一個公平的領域,吸引了很多人的目光,以至於90年代後期出現了互聯網的泡沫時代。
不久後,瀏覽器(XMLHttpRequest)引入了 AJAX,從而引領了Web 2.0時代和Web應用程序。但是,開發這些應用程序需要大量的工作,因此開發人員無法僅憑一己之力滿足業務的需求。
後來,開發人員開始分工專業化。由前端開發人員處理HTML、CSS和JavaScript。後端開發人員處理主機操作系統、HTTP伺服器和資料庫。而同時精通前後端的開發人員則稱之為全棧開發人員。
全棧時代
專業化是一件好事。但並不會永久。一方面,這意味著團隊可以並行工作以縮短開發周期。另一方面,這也意味著我們必須付出更多的努力來傳達最初的要求和變更的規范,否則我們就會失去並行工作所帶來的優勢。
因此,整個團隊全是全棧開發人員,不區分前端和後端,似乎是一個不錯的主意。
最重要的好處是,團隊中的每個開發人員都充分了解每一處代碼變更帶來的後果。他們每個人都可以正確地評估影響和風險,讓管理層清楚地了解成本和延誤狀況。此外,每當有工作人員離職時,團隊可以立即換人,而且新人也可以很快地熟悉工作。然而,隨著基礎技術的提升,這種美好的景象也失去了原有的魅力。技術棧不再局限於最初的四層:操作系統、HTTP伺服器、資料庫和腳本語言。
隨著開發能力的增強,我們開始更加密切地傾聽用戶的意見:
此外,貫穿所有這些需求的基本技術也在不斷發展:
全棧時代並沒有完全死亡。技術棧的各層迅速發展,沒有人可以成為掌握一切的專家。職責多樣化和專業化是很自然的結果。
全棧工程師的榮耀已成為傳說。在這個新時代,沒有人能夠掌握開發的所有技術。
2020棧
我們不得不思考:擁有跨層知識和技術力且才華橫溢的個人仍有優勢嗎?我們應該如何對待全棧開發人員帶來的項目經驗多樣化?管理如何才能滿足這些需求?招聘人員應如何篩選應聘人員?求職者又當如何凸顯自己的技術力?
我們應當重新考慮「全棧」這個術語了。
我之所以這樣說,是因為我幫助推廣了這個概念。早在2009年,毀啟我就曾介紹過這個術語。但可悲的是,時至2019年,這個術語已經成了計算機 歷史 博物館的紀念物。
奇怪的是,人們對「全棧」這個詞的好奇心在不斷增加。2009-2019年期間,Google 搜索詞語趨勢快照顯示,在過去五年中,「全棧」這個詞的搜索次數急劇增加,而且年年創新高。
但是,如果人們都在尋找下一個趨勢是什麼,那麼我們就來談一談吧。為了方便討論期間,讓我們先來給它起一個名字。
我將其稱為2020棧。新一代的新名稱。
我認為:
2020棧專家的特徵可以總結如下:
沒有人可以掌握所有技術,因此2020棧必須由一個團隊來分擔。不是一群人,而是一個真正的團隊。這意味著,當一個人落後時,另一個人就會挺身而出。當一個人擁有出色的技術力時,就可以通過一種機制來指導其他人。當團隊的知識庫不足時,悶余盯他們就會尋找一名更聰明的團隊成員。
每個2020棧團隊成員都必須是跨領域專家。僅掌握了一兩層技術棧的人都算不上合格的2020棧團隊成員,這類的個人有望成為未來2020棧團隊成員,但也有可能不行。但是在他們掌握各層技術棧上的深入知識之前,他們只能作為2020棧團隊的候選人。
2020棧團隊成員為項目帶來的各項技術並未嚴格分類。與我們到目前為止採用的前端/後端分類不同,2020棧的分類是多種多樣的。2020棧團隊中的某位成員可能熟悉NoSQL、雲配置和持續集成等技術。同時,另一個2020棧團隊中可能有一位類似的成員,而他熟悉SQL資料庫、Node.js伺服器、容器和容器編排。如果我們把他們統稱為2020棧團隊的後端開發,就低估了他們的技術力。
最後,這個團隊最關鍵的組成部分:每次交流都應該以針對當前問題做出最佳決策為共同的目標。這意味著擁有相同技術的成員之間應該以開放的心態進行交流。成員之間不僅應該互相傳達最新的進展,還應該展開討論。這可以讓每個人都變得更聰明,而且還可以防止重新步入專業化的漩渦。團隊成員一起成長。
你好,「2020棧! 」
下面我們來想想看,如何利用2020棧更好地匹配職位要求與求職者的技術力。項目經理發布的招聘廣告可能包含以下內容,他們希望找到適合公司文化的人才:
我公司希望招募在測試、文檔和代碼管理方面具有深厚背景的「2020棧」團隊成員。該職位要求在以下領域中,至少擁有跨兩個領域的技術力:雲配置、容器、容器編排、CI/CD以及伺服器端腳本。
通過幫助我們選擇最佳的工具來塑造我們的未來。職業發展是每位公司員工工作的一部分。每周二我們都會舉行內部2020棧學習大會。
同一個職位的另一則招聘廣告則要求應聘者具備不同的技術力:
我們希望尋找一名「2020棧」團隊成員,擔任回歸測試、API文檔、Github工作流管理以及開發運維的工作。
如果你掌握了上述技術,請聯系我們。
而求職者可以按照如下方式完善LinkedIn信息:
我擁有多年的「2020棧」團隊工作經驗,擁有豐富的後端開發經驗以及最新的2020開發運維知識,包括Gitlab、Kubernetes 和 Digital Ocean。
我是開源和DRY的忠實擁護者,我認為成功重用的關鍵在於出色的文檔。
通過上述描述,我們看到了一名同時掌握了代碼管理域和開發運維域技術的開發人員。「2020棧」團隊成員比敏捷團隊更加成熟。
2020棧的分層
那麼,2020棧應該如何分層呢?前端和後端等術語是否足以描述各層的特性?伺服器和Web、設計和運維呢?當然,這些類別足夠廣泛。
同時,我們也不能忽視測試人員,因為我們知道如果沒有他們,我們就無法交付質量勝過競爭對手的產品。此外,如果沒有營銷人員,我們甚至連客戶都找不到。
所有這些因素我們都需要考慮。有關我心目中完美的2020棧,請參考這篇文章(https://medium .com /better-programming/2020-002-my-perfect-2020-stack-43be78df37 dd )。說到底,2020棧就是跨領域溝通。我相信這是一次全新的文藝復興。
原文:https://medium .com /better-programming/2020-001-full-stack-pronounced-dead-355d7f78e 73 3
本文為 CSDN 翻譯,轉載請註明來源出處。
❷ web前端需要哪些技術
所有知識框架,那肯定是一個結構型的展現,就是一棵樹。web前端的知識點非常多,也非常散,需要好幾層結構來組織這個體系,否則就會顯得很亂。那麼如何組織、把誰和誰放在一塊兒?這是真正值得我們去思考的,你也可以自己來思考一下這個問題。
在我總結的這個知識框架中,首先第一層我劃分為:理論知識,類庫框架,編碼開發,運行環境。如下圖:
首先,你要知道web系統雖然大部分是在瀏覽器下運行,但是js可能會被運行在node環境。
在瀏覽器環境下,最重要的兩點是:web安全和性能優化。需要注意的綱要我都列出來了,如果想了解推薦兩本書《白帽子將web安全》《高性能網站建設指南》
8. 其他
以上這些是全部的知識體系。如果你想成為一名合格的、讓leader喜歡的程序猿,你除了知道這些知識之外,我覺得還需要以下幾點:
要了解敏捷軟體開發流程(如SCRUM)和項目管理知識(如考取PMP),這也屬於一種「軟」知識吧;
要學會在網上和別人交流(博客、qq群、開源項目),交流能讓自己看到自己的不足;
要學會自我反省和自我學習。就像我現在一樣,試著自己總結一下屬於自己的東西,隨時反省隨時進步
❸ 前端已死是真的嗎
具體如下。
「但就目前的情況看,並不存在「前端已死」的說法,因為任何技術都不可能永遠保持其熱度,我們可以通過不斷拓展和提升自己的技能,來適應未來的發展需要祥轎。」
前端即網站前台部分,運行在PC端,移動端等瀏覽器上展蠢宴畝現給用戶瀏覽的網頁。隨著互聯網技術的發展,HTML5,CSS3,前端框架的應用,跨平台響應式網頁設計能夠適應各種屏幕解析度,合帶森適的動效設計,給用戶帶來極高的用戶體驗。