搜尋
首頁常見問題程式設計師前端、後端、全端是什麼意思

前端程式設計師,後端程式設計師,全端程式設計師分別都是什麼?找工作到底選前端還是後端?為什麼美國很多都是全站程式設計師呢?帶著這些疑問,本文來給大家一一解答,保證讓你對這些概念搞的明明白白!

原文網址:https://www.bilibili.com/video/BV1DV411B7v5/

首先什麼是前端開發?

簡單來說,前端開發就是開發網頁上的“內容展示”,和與用戶的互動;

這裡的“內容展示”:指的是你在網頁上能看到的,圖片文字、影片、數字等資訊。

那麼與使用者的互動指的就是,使用者在頁面上透過點擊按鈕、輸入文字等動作對網站提供資料輸入,然後前端回應使用者的輸入。

例如更新頁面上的內容,舉一個更具​​體的例子就是,如果你在我的文章下面進行評論,那麼頁面對你評論這個動作就會做出回應,例如會在後台資料庫裡面,把我的評論量加一。

並且在頁面上顯示文章評論後的數量等,如下圖。

程式設計師前端、後端、全端是什麼意思

前端開發用到的基礎技術就是htmlcss javascript,分別用來控制網頁裡面的內容視覺效果使用者互動

以下分別簡單介紹一下。

html 並不是一門程式語言,他是一種用來定義結構化資料的標記語言,你在瀏覽器上看到的網頁,其實就對應一個html 文件,這個文件裡裝的就是html 程式碼,而瀏覽器的職責之一,就是透過你輸入的網址,從網站上下載對應的html 程式碼,並且把程式碼渲染成你肉眼看到的樣子。

那麼,前端工程師的工作內容之一,就是寫html程式碼,或是使用一些技術來為頁面動態的產生html 程式碼,任何一個網頁,你都可以透過瀏覽器的開發者工具,看到他對應的html 代碼。

如果你仔細查看一段html 程式碼,你會發現他其實就是由一堆各種類型的尖括號標籤組合嵌套而成的,例如某影片在youtube 頁面上,影片的標題,對應於程式碼裡面一個title類型的標籤,那影片的播放器就對應到一個video類型的標籤;其頭像圖片,對應到一個嵌套在超連結標籤裡的image 標籤;而評論裡的文字又對應到一個yt formatted-string 類型的標籤,這裡的yt 應該只帶的是youtube,那麼這個標籤,應該就是youtube 自定義的標籤,然後css 的程式碼,則是用來指定每個html 的標籤,以什麼樣的外觀和風格來展示,例如長寬、位置、顏色居中還是分散字體顯示屬性等等。

css的程式碼也是被瀏覽器讀入,並且渲染成你肉眼所看到的效果,有時候pm會想把頁裡面一個按鈕的大小和顏色進行微調,而這個微調就是由前端工程師去改動;這個按鈕對應的css程式碼來實現的,前端開發中真正編程的部分是javascript,網頁如何與用戶交互,如何與後端交互,都是透過javascript 的程式碼實現的,就像html程式碼和css程式碼是被瀏覽器執行一樣,頁裡面的javascript 程式碼也是交給瀏覽器來執行。

這裡插一句,javascrip與java並沒有什麼關係,兩者之間的特性差的很遠,這就好比是印度跟印尼差的很遠,熊貓跟小熊貓差的很遠,雷峰和雷峰塔差的很遠。

說回正題,大家在寫程式的時候,不管用什麼語言,通常都不會重複的造輪子,而是會呼叫該語言現成的library來實現一些常見的功能,讓開發過程更有效率。

對於前端javascript的開發,react是目前比較流行的library,也是我在工作中,做前端的時候會用到的。 react這個library,不僅可以用來實現與用戶的交互邏輯和事件響應,事實上頁面上幾乎全部的html 代碼,都可以透過react來生成,這種在瀏覽器端生成html代碼進行渲染的方式,叫做client-side rendering,與之相反的就是service-side rendering,也就是頁面完整的html程式碼,是全部由網站的前端伺服器產生好了之後,再發給瀏覽器的。

這裡提到了前端伺服器,就順便說一下,前端伺服器的邏輯,可以透過任何程式語言來實現,例如java、javascript、php 甚至是Scheme,只要伺服器的行為遵守http 的協定就可以了,client-side renderingsilver-side rendering兩種方式各有優缺點,因此前段工程是在開發網頁的時候,需要結合實際情況,選擇最合適的頁面渲染方式;

除了react,另外一種比較流行的javascript library就是vue#,在國內用的比較多,如果你去查看b 站的html代碼,你會發現b 站的前端也用到了vue。

以上介紹的這些,就是前端開發的一些常規技術,html、瀏覽器和前端伺服器的工作原理,一般會在學校裡面的《電腦網路》課裡面介紹,css、javascript、react就主要靠自學了。

 javascript和react學習課程有興趣的可以去看《javascript高級教程》哦!

講完了前端,現在來講講後端。

什麼是後端開發呢?

相當一部分的後端開發工作,就是開發資料存取服務,使得前端可以透過呼叫後端的服務,來對資料進行增刪查改,也就是大家常聽到的curd,從而實現前端對使用者的請求回應。

例如你在一個大型網站註冊的時候,這個網站的前端就會呼叫他的後端,把你的使用者資訊寫入資料庫。一個後端服務其實不限於只被前端調用,他還可以被 mobile app 調用,還可以被其他的後端服務調用。

類比一下,前端往往需要透過呼叫後端服務,來完成對使用者的請求回應,而後端服務往往需要透過查詢資料庫。

來完成對前端請求的回應,從這個類比你可以看出,前端和後端的共通性,都是透過呼叫一個比自己靠後的服務,來對前方客戶的請求進行回應,後端工程師的工作範疇很廣,幾個比較常見的就是,設計後端服務的api,設計後端服務的架構圖,設計後端服務的資料庫且程式碼實現後端服務的業務邏輯,同時你還需要保證你設計的後端服務,highly available,也就是訪問量很大的時候仍然不宕機,並且對客戶請求的響應時間很短,或者說吞吐量高,單位時間內能處理的請求數量多。

如果要從頭建立一個新的後端服務,那麼整個過程需要進行大量的系統設計,也就是後端工程師面試的時候,會考到了System Design,做System Design非常考察平時知識的積累。

那麼後端工程師平時一般需要與哪些技術和工具打交道呢?

首先就是後端伺服器了,和前端伺服器一樣,後端伺服器也可以由幾乎任何一種程式語言實現,只要能把正確的資料,傳回給呼叫者就可以了。

主流的程式語言,也有各自流行的Web Framework,也就是現成的輪子,來幫助大家站在框架的肩膀上,快速的實現一個後端服務,比如基於PHP的Web Framework有thinkphplaravel(插入一個「PHP是世界上最好的語言」),基於javascript 有express,基於 java 的Web Framework有Spring BootDrop wizard,以及基於python有flask這幾個Web Framework,每一個都有大廠在使用,不同的公司具體選擇哪個框架,某種程度上,是看創始的程式設計師最喜歡哪種語言,哪種框架用的最6,還有一些後端服務的框架,可以支援你用多種程式語言來開發,而不是綁在一門特定的語言上。

說了這麼多的語言和框架,如果你想去某個公司做後端開發,一定需要對他們使用的語言和框架很熟練嗎?

一般來講不會,我找工作的時候看到職位描述,裡面有我不會的語言和框架,也無所謂,照樣投,對公司來說你會其中一部分就夠了,很多東西都是在工作裡面學的,而且事實上,兩週內上手一門新的程式語言,是一名職業程式設計師的基本素養,除了開發和維護後端伺服器,後端工程師還會花大量的時間,在資料庫上,不管是為你的後端服務建立資料庫,或是為資料庫的效能調優或是分析裡面的資料。

目前最常使用到的資料庫是關係型資料庫,例如在工業界被廣泛使用的MySQLPostgreSQL

如何設計一個關聯式資料庫,如何使用SQL query來存取數據,以及如何依靠index 來為數據查詢加速,這些知識點,在學校的資料庫課程裡面也會介紹的,然而學校資料庫課程裡面介紹的比較少,但是近年來用的又越來越多的是非關係型的資料庫,也就是大家常說的No-SQL資料庫。

例如基於JSON文件的MongoDB,例如基於LSM treeLevelDB,這些資料庫在某些特定的情況下,可能會比關係型資料庫更適合你的業務需求,

大家一般也是在工作中去學習他的原理和特性,資料庫往往是一個後端系統裡面的性能瓶頸,也就是最慢的一環,因此後端工程師在進行系統設計的時候,會用很多辦法來使得後端的性能,比如響應的時間,盡量的少被數據庫拖後腿,比如使用MemCached這種緩存系統,來加速讀取數據的速度,例如用Kafaka把資料寫入非同步化,提升後端寫資料的效能,後端開發大致介紹到這裡。

後端開發裡的其他重要環節,像是效能監視,像是 DevOps 這裡就略過不講啦!

下面來講講全棧全棧就是全幹,要能夠自己建構和部署一個完整的,可以工作的Web App,能夠獨立編寫前端,後端程式碼能夠設定伺服器,也能夠設計資料庫。

我參加工作以來前端和後端都做,大概80%時間都是在做後端,對於要找程式設計師工作的你,有很多小伙伴問我,前端和後端哪個的發展前景好轉,專業選哪個比較容易入行,或女孩適合做哪個?這裡我推薦大家看看這篇文章《零基礎程式設計該從哪開始?推薦2021年適合學習的程式語言

選前端還是後端差異只在於使用的技術和考慮的方面不同,前端主要考慮使用者體驗,後端主要考慮底層業務邏輯,平台穩定和性能,最主要是看你喜歡做什麼,你是喜歡做用戶看得見的部分,還是去考慮用戶看不見的部分呢?

很多人覺得女生審美好適合做前端,可是公司裡面有統一的介面規格,做什麼都直接調用,library 裡面現存的component,按鈕字體邊框長啥樣,內容排序都不是我決定是pm 和ui設計師決定,我的審美也肯定沒有設計師專業。

最後即使你選擇了某一個方向,你在工作中也會實際了解到其他是做什麼的,自己喜歡什麼想做什麼,如果你想轉前端或者是後端,可以看看組裡公司裡有沒有機會,也可以自學尋找其他的機會,你之前的工作經驗不會白費,公司也總是喜歡技能比較多的員工嘛!

全端程式設計師職位比較多,可能是因為技術比較全面,花一份薪水請會兩個崗位技術的人,對於求職者來講,全端程式設計師有幾年工作經驗的會高的更多,所以大家基本上都衝著全端程式設計師去了,工作後再根據個人興趣和擅長的領域,慢慢發展成主前端,主後端全站或是管理。

以上是程式設計師前端、後端、全端是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:bilibili。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)