身為開發者,你可能會想:2019 年最好的軟體開發技術和程式語言會是什麼?它們又是如何被應用在軟體開發當中的?如果你在思考這個問題,那就來對地方了。
這篇文章將對前端和後端開發技術做一個對比,先從基本的開始,然後逐步比較它們的不同點,例如對開發技能的要求、發展潛力、職業生涯的發展和薪水,等等。
1、什麼是前端開發?
前端開發主要涉及網站和 App,使用者能夠從瀏覽器或 App 畫面看到的東西。簡單地說,能夠從瀏覽器或 App 畫面中看到的東西都屬於前端。 (推薦:WEB前端開發影片教學)
網站與行動App 的前端
我們就以你現在正在瀏覽的網頁為例。網頁上的內容、圖片、段落之間的空隙、左上角的圖示、右下角的通知按鈕,所有這些東西都屬於前端。
行動 App 的前端和網站是一樣的。例如,你所看到的內容、按鈕、圖片,它們都屬於前端。另外,因為行動裝置的螢幕是可以觸摸的,所以應用程式對各種觸控手勢(例如放大 / 縮小、雙擊、滑動等)做出的反應也屬於前端,它們是前端的活動部分。
這些東西是由前端開發者開發出來的,他們使用了 Ionic、Swift、Kotlin、Bootstrap、Angular、Vue、jQuery、React.js 等開發技術。後面我們會更多介紹這些開發技術。
物聯網的前端
任何可以連接到網路的裝置都是物聯網裝置。你可能會好奇物聯網設備的前端會是什麼樣的。任何一種智慧型設備,例如智慧冰箱、遠端 POS 機器、智慧手錶、智慧錢包,它們都需要提供某種介面,以便用戶可以操作這些設備。所以,這種介面就是一種互動媒介,組成這種介面的元素就是物聯網的前端。
但嚴格來說,物聯網設備並沒有真正的前端。不過它們都裝有韌體,與行動 App 的前端類似。這些韌體可以用各種程式語言來開發,例如 C 語言、C 、Lua、Python 或 JavaScript。
2、什麼是後端開發?
後端開發即「伺服器端」開發,主要涉及軟體系統」後端「的東西。例如,用於託管網站和 App 資料的伺服器、放置在後端伺服器與瀏覽器及 App 之間的中間件,它們都屬於後端。簡單地說,那些你在螢幕上看不到但又被用來為前端提供支援的東西就是後端。 (建議:後端開發影片教學)
網站和行動App 的後端
網站的後端涉及建置伺服器、儲存和取得數據,以及用於連接前端的介面。如果說前端開發者關心的是網站外觀,那麼後端開發者關心的是如何透過程式碼、API 和資料庫整合來提升網站的速度、效能和回應性。
與前端類似,行動 App 的後端與網站後端是一樣的。為行動 App 建置後端有這些選擇:雲端平台(AWS、Firebase)、自己的伺服器或 MBaaS(行動後端即服務,Mobile Backend as a Service)。
後端開發使用 Ruby、Apache、Nginx、PHP、MySQL、MongoDB 等技術。後面我們會更多介紹這些開發技術。
物聯網的後端
雲端平台是物聯網後端的重要元件。有證據表明,大部分物聯網設備極度依賴雲端伺服器,它們透過伺服器上傳、處理和下載資料。
高階物聯網解決方案的後端甚至涉及人工智慧和機器學習。
物聯網專案的後端平台包括 Amazon IoT、Google Cloud、MQTT Broker、IFTTT,等等。
3、那麼前端和後端的差別有哪些?
前端與後端的技術堆疊比較
4、前端和後端開發者,哪個比較好?
做前端開發還是後端開發,除了技術方面的東西,還要看什麼對你來說更為重要。
如果美學和產品感覺方面的東西對你來說更重要,那麼你可能會傾向於選擇前端技術。如果你關注的是提高網站、應用程式或軟體的效率和回應性,那麼你的目標可能會是後端開發。
前端設計師所做的很大一部分工作是讓用戶在行動或 PC 螢幕上看到的東西看起來很棒,而且很容易使用。相反,後端開發人員只關心如何編寫乾淨的程式碼。
如果你要基於上面所說的內容在前端和後端之間判定其中一個比另一個好,那麼這本身就是一個錯誤的假設。實際上,它們都是不可替代的,在建立網站或應用程式時,它們是同等重要的。
有些人具備視覺方面的天賦,而其他人則擅長透過邏輯和技術來解決問題。蘋果之所以成為今天的樣子,要歸功於 Steve Jobs(前端的夢想家) 和 Steve Wozniak(後端天才)。
5、前端和後端開發者
#現在, 你已經對前端和後端開發有了很好的了解,接下來是時候更多地了前端和後端開發者了。以下簡要介紹了前端和後端開發者的職位、技能和職責。
透過這些重點,你可以全面了解後端和前端開發者的技能。
前端和後端開發者的職稱
開發者有很多工作機會,根據具體的專業知識、經驗和興趣,你可以申請以下這些後端或前端開發職位。
前端:
● 前端開發工程師;
● 前端Web 設計者;
##● Android 開發工程師;● iOS 開發工程師;● 前端DevOps 工程師;● 前端JavaScript 開發工程師;##● 前端UI 工程師;
#● HTML/CSS 開發工程師;
● 前端測試工程師;
● 前端SEO 專家。
後端:● 後端開發工程師;
● 初級後端開發工程師;
● Web 開發工程師;
● DevOps 工程師;
● 軟體工程師;
● WordPress 開發工程師;
##● 雲端運算工程師;#● REST 專家;● 伺服器/ 系統管理員;● 資料庫架構師;● Java 開發工程師;##● Python 開發工程師;
● PHP 開發工程師。
前端和後端開發者的技能需求不同職位和等級所要求的技能是不一樣的,但不管怎樣,要成為前端或後端開發者絕對需要掌握一定的技能。
前端和後端開發者的角色和職責
前端和後端開發者的角色和職責是什麼?在申請工作或招募前端或後端開發者之前,請確保您了解以下這些內容。
前端與後端開發者的薪水比較
前端開發者:
#以上資料來自PayScale
(https://www.payscale.com/research/US/Job=Front_End_Engineer/Salary)
#以上數據來自Glassdoor(https://www.glassdoor.co.in/Salaries/us-front-end-developer-salary-SRCH_IL.0,2_IN1_KO3,22. htm)
後端開發者:#以上資料來自PayScale
(https://www .payscale.com/research/US/Job=Back_End_Developer/_Engineer/Salary)
以上資料來自Glassdoor
(https://www.glassdoor.co.in/Salaries/us-backend-developer-salary-SRCH_IL.0,2_IN1_KO3 ,20.htm)
6、什麼是全端開發?
有些人可以同時從事前端和後端開發,他們被稱為全端開發者。
成為全端開發者或招募全端開發者既有優點也有缺點。雖然開發者數量可以減少到原來的一半,但他們的水平也相應降低了。專門從事前端或後端開發的開發者對單一領域的了解總是多於同時了解這兩個領域的開發者。
與全端類似的技術開發堆疊還有很多,例如 MEAN 堆疊、LAMP 堆疊、.NET 堆疊、Python-Django 堆疊、ROR 棧,等等。開發者可以自由選擇成為這些技術堆疊的專家。