今天終於能釐清了:前端工程師.後端工程師.全端工程師的差別!
前端工程師.後端工程師.全端工程師,怎麼長這麼像啦!別怕別怕,這不就來解釋給你聽了嗎~
業界對於網站開發工程師的需求,一直沒有停止過,也吸引很多非本科系出身的同學想轉職到網站開發工程師。
但是常常聽到網站開發工程師還有分成「前端工程師」、「後端工程師」,還有綜合上述的「全站(full-stack)工程師」。
今天就來解惑:這三種聽起來超像的職位到底差在哪?我又該選哪種學習比較好上手?由於真的太多人有類似的問題,因此本篇文章會幫助你先了解網站開發的分工定義、技能需求,如此一來,才能幫助你找到適合自己的目標、讓你更有效率學習,更快達成轉職網站開發工程師的願望!
前端工程師
網站的「前端」是與用戶直接交互的部分,包括你在瀏覽網頁時接觸的所有視覺內容--從字體到顏色,以及下拉菜單和側邊欄。這些視覺內容,都是由瀏覽器解析、處理、渲染相關HTML、CSS、Javascript 文件後呈現而來。
技能與工具
前端開發,就是要創造上面提到的網站面向用戶的部分背後的代碼,並通過建立框架,構建沉浸性的用戶體驗。為了實現這個目標,開發需要熟練運用下列語言、框架、工具庫——三大語言:HTML,CSS,和Javascript。
此外,掌握jQuery 和LESS 等工具庫也很重要,它們能幫助開發者以更高效的方式編碼;很多前端開發崗也要求Ajax 方法的使用經驗,它可以幫助你使用Javascript 在後台從服務器拉取數據,協助實現頁面的動態加載。
打個比方,前端工程師的工作專注於「房屋」裝修,而蓋房子的工作由後端開發者負責。通過一些專門的工具,前端開發者與設計師/用戶體驗分析師密切合作,幫助構建原型或是線框圖,參與產品開發到發布的全過程。
一些前端工程師甚至能準確定位影響用戶體驗的特定問題,並給出建議或是代碼解決方案,對產品設計帶來積極影響。在專業能力外,與其它團隊協作,以理解特定目標、需求、機遇,以及高效的執行力也非常重要。
這聽起來工作內容很多,但也回報豐厚。「我是一名技術人員,也是一名設計者,在數字平台上使用標記語言和代碼修改視覺元素並與之互動是很自然而有趣的體驗,」有八年前端開發經驗的Mikey Ilagan 說「這讓我能夠直接影響到用戶體驗,操縱應用和網站裡用戶所見並直接與之交互的元素,這非常棒!」
總之,前端開發者要為後端開發者搭建的「房屋」進行內部設計和裝修工作。裝潢風格由房屋所有者指定。Apptix 的產品市場負責人Greg Matranga 表示:「前端開發者有時更容易為他們的工作感到振奮,因為他們有更廣闊的空間發揮自己的創造力。」
後端工程師
是什麼給網站前端提供支持?數據存放在哪裡?這就涉及後端內容了。網站後端包括服務器、應用還有數據庫。後端開發者構建並維護這些組件,為網站提供多方面支持。
由上圖可以看出,UDN 的讀者來源,大部分來自 Search (搜尋引擎)輸入特定關鍵字後,進到 UDN 的網頁;而東森新聞雲的讀者最多都是從 Facebook 等 Social 社群網站的連結進來。
技能與工具
為了讓服務器、應用、數據庫能夠彼此交互,後端工程師需要具有如下技能:
用於應用構建的服務器端語言:PHP, Ruby, Python, Java, .Net 等;
數據相關工具:My SQL , Oracle, SQL Server等;
PHP框架:Zend, Symfony, CakePHP等;
版本控制工具:SVN, CVS , Git 等;
還要熟練使用Linux 作為開發和部署環境。
後端開發者使用這些工具編寫乾淨、可移植、具有良好文檔支持的代碼來創建或更新 Web 應用。但在寫代碼之前,他們需要與客戶溝通,了解其實際需求並轉化為技術目標,制定最有效且精簡的方案來進行實現。
「我熱愛後端開發因為我喜歡操縱數據」,資深後端開發者就職於 Wildbit 的 JP Toto 說。「現在共有和私有 API 已變成移動設備、網站以及其它互聯繫統交換數據的必備通道。創建對大家有用的API 是我工作裡非常鼓舞人心的部分」。
全端工程師
全端工程師,最初是 6 年多以前由 Facebook 帶動的概念。全棧的核心,是指這批開發者能夠承擔包括前端、後端在內的所有功能開發任務,他們擁有一個技能全家桶。
「能夠同時承擔服務器端和客戶端工作會為你帶來更多機會,」 Grovo 的全端工程師 Federico Ulfo 說「當然這也就意味著更多的挑戰。以廚藝作類比,掌握烹飪和烘焙都需要時間與經驗積累,同時掌握兩者要花費更多精力。照著菜譜做誰都可以,我此處所說的是做出真正美味東西的能力。」
技能與工具
全端工程師也通常在服務器端進行編程工作,但他們熟練前端語言,能夠操縱網站面向用戶的部分。基本上可以形容他們是百事通。
全端工程師需要對 Web 架構的每一個層次都有足夠的了解:搭建和配置Linux 服務器,編寫服務器端API,利用客戶端Javascript 代碼驅動應用,將設計層面的東西轉化到實際的CSS 代碼。掌握並使用大量工具的同時,全端工程師需要敏捷地分配服務器端和客戶端任務,提供解決方案並對比不同方案的優劣。
延伸閱讀文章:
CSS必學!前端工程師與Div.Span標籤的應用(上)
前端工程師之路不停歇~Media Query的流動圖片
想當前端工程師不知道怎麼開始?入門知識現在告訴你!
啥?你還不知道Python有多重要嗎?還不快點進來!
教著Java課程的老師他們都聊些什麼?
暑假快到了!與其讓兒子盲目拚學測,我寧可讓他先選擇人生方向~
人人都能是工程師!台灣 IT 培訓中心推「找到工作再付學費」專案,要試試嗎?