您的位置:首頁>科技>正文

什麼是後端開發

每日一技:腦筋急轉彎

什麼動物最容易摔倒?

軟體應用程式就像冰山一樣。 使用者看到的只是應用程式的一部分——在大多數情況下——應用程式的最大部分是看不到的。 這就是令人難以捉摸又神秘的“後端”。

在Web開發的篇章中, 我們主要討論Web開發, 因為它涉及與最終用戶的直接互動——我們可以稱之為“前端Web開發”。

在大多數應用中, 非使用者介面代碼比使用者介面代碼多得多。 複雜系統是在後臺發生的各種使其工作的邏輯。

我們需要存儲和檢索資料, 需要遵循業務邏輯和規則, 並且需要對結果進行預測。

所有這一切都發生在幕後。

後端開發人員是這樣的開發人員。

後端開發究竟是什麼?

這篇文章的目的在於, 我將會考慮後端開發是一種不涉及創建生成使用者介面的開發。 這可能包括後端Web開發, 可能也涉及編寫API, 創建庫或和沒有使用者介面或甚至科學程式設計系統的系統元件一起工作。

在現實中, 即使前端開發獲得了大部分的榮耀, 但是世界上存在的大多數代碼(可以說是最有用的代碼)是最終用戶從來不會看到的後端代碼。

簡單來說, 後端開發就是開發人員編寫的不能直接看到的代碼。

後端開發人員做什麼?

根據正在處理的應用程式的大小和範圍, 後端開發人員要做的事情有很大的不同。 在我是一個後端開發人員時, 我做了很多工作, 工作于應用程式中的業務邏輯, 以及從前端提取和檢索資料。

在Web開發世界中, 大多數後端開發人員從事于構建他們正在工作的應用程式背後的實際邏輯。

通常, 前端開發人員構建使用者介面, 而後端開發人員編寫代碼,

使其工作。

例如, 前端開發人員在應用程式中創建一個介面, 上面有一個按鈕, 按下按鈕來獲取客戶的資料。

後端開發人員寫可使得按鈕工作的代碼, 通過指出從資料庫中提取哪些資料並將其傳回到前端(並最終顯示在那裡)。

後端開發人員也可能會大量參與系統架構, 決定如何組織系統的邏輯, 以便能夠正常維護和運行。

他可能會參與構建框架或系統架構, 以便於更容易編寫程式。 後端開發人員比前端開發人員花費更多的時間在實現演算法和解決問題上。

我一直都很喜歡後端開發工作, 因為它更像一個挑戰。

這並不是說前端開發人員不解決難題, 但通常前端開發工作更多的是關於創建使用者介面和與之相關的內容,

而不是實現實際的業務邏輯, 使應用程式工作。

後端開發的主要技術和技能

前端開發人員需要知道一系列用於創建使用者介面的工具, 而後端開發人員通常使用的是一套完全不同的工具和技能, 以便於高效地完成他們的工作。

後端開發人員所需的一個重要技能與SQL和資料庫有關。 大多數後端系統需要連接到存儲應用程式資料的資料庫。

後端開發人員通常的工作是從資料庫或其他資料來源寫入、讀取和處理資料, 因此擁有SQL等技能會非常重要。 後端開發人員——至少對於Web開發——也需要擅長他們正在使用的技術棧的伺服器端語言。

例如, 雖然前端Web開發人員更多地專注於HTML, CSS和JavaScript, 而後端開發人員需要更多地瞭解PHP Web框架, Ruby on Rails, ASP.NET MVC或任何正用於構建應用程式的伺服器端Web開發框架。

最後, 我想說, 後端開發人員需要更多地瞭解應用程式架構, 因為大多數情況下, 後端開發人員需要去構建應用程式的體系結構和內部設計。

一個好的後端開發人員得知道如何使用各種框架和庫, 如何將它們集成到應用程式中,以及如何構建代碼和業務邏輯,用一種使系統更易於維護的方式。

如果你喜歡設計應用程式的基礎設施,實現演算法和邏輯,以及工作於資料,那麼你可能會喜歡成為一名後端開發人員。

關於全棧開發人員?

我曾想為全棧開發人員另起一篇文章,但後來想到,既然已經涵蓋了Web開發和後端開發,那麼延伸開去談論全棧開發更為理所當然,因為全棧開發剛好涉及了前端和後端開發。

實際上,全棧開發包括處理系統或軟體發展堆疊的所有元件和層。它甚至可能涉及瞭解伺服器硬體和架構,或者被認為是DevOps。

今天,越來越多的軟體發展職位在尋找能夠進行全棧開發的開發人員,因為對於軟體發展人員來說能夠工作於涉及的整個技術棧是很有價值的,而不是將前端開發與後端開發兵分兩路。

一部分原因是現在越來越多的應用程式模糊了前端和後端開發之間的界限。

許多流行的JavaScript框架,如Angular,允許你在系統的使用者介面部分中創建可以被視為業務邏輯的大部分內容。

此外,隨著越來越多的團隊採用敏捷方法,個體程式師被要求不僅僅能工作於他們的專業領域,因為任務被分配給團隊遠超過個人。

我認為成為一個全棧開發人員是有用的——並且你應該充分瞭解軟體的每個層次發生了什麼——但我不認為“專業化”全棧開發人員是頂好的主意,因為這不是一個專業領域。

基本上,你應該專注於獲取你可能會用到的最常見的技術棧的廣泛知識,但你應該選擇一個或兩個主要的專業,然後朝著選擇的方向真正地去深入鑽研。

所有軟體發展人員都應該知道如何創建使用者介面,所使用的框架的基礎,如何從應用程式中存儲和檢索資料庫中的資料,甚至瞭解基礎設施如何支援軟體,他們不需要成為所有所有這些領域的專家,因為這些領域不但相當大而且在不斷擴大。

具備技術堆疊中通用和有效的所有知識或一些領域中的專業化知識或許要好得多。

然後,你仍然可以稱自己為“全棧”,但實際上,對於團隊而言,你這樣的人才更加有用得多。

翻譯作者:碼農網– 小峰

(版權聲明:我們尊重原創,轉載文章非商業用途,僅供傳播使用,版權歸原作者所有。“求職秀”所推送文章,除非確實無法確認,我們都會注明作者和來源。部分文章推送時未能與原作者取得聯繫。若涉及版權問題,煩請原作者聯繫我們,與您共同協商解決。聯繫方式:010-57018949)

近期熱門閱讀TOP10

戳原文,更有料,直奔offer!

如何將它們集成到應用程式中,以及如何構建代碼和業務邏輯,用一種使系統更易於維護的方式。

如果你喜歡設計應用程式的基礎設施,實現演算法和邏輯,以及工作於資料,那麼你可能會喜歡成為一名後端開發人員。

關於全棧開發人員?

我曾想為全棧開發人員另起一篇文章,但後來想到,既然已經涵蓋了Web開發和後端開發,那麼延伸開去談論全棧開發更為理所當然,因為全棧開發剛好涉及了前端和後端開發。

實際上,全棧開發包括處理系統或軟體發展堆疊的所有元件和層。它甚至可能涉及瞭解伺服器硬體和架構,或者被認為是DevOps。

今天,越來越多的軟體發展職位在尋找能夠進行全棧開發的開發人員,因為對於軟體發展人員來說能夠工作於涉及的整個技術棧是很有價值的,而不是將前端開發與後端開發兵分兩路。

一部分原因是現在越來越多的應用程式模糊了前端和後端開發之間的界限。

許多流行的JavaScript框架,如Angular,允許你在系統的使用者介面部分中創建可以被視為業務邏輯的大部分內容。

此外,隨著越來越多的團隊採用敏捷方法,個體程式師被要求不僅僅能工作於他們的專業領域,因為任務被分配給團隊遠超過個人。

我認為成為一個全棧開發人員是有用的——並且你應該充分瞭解軟體的每個層次發生了什麼——但我不認為“專業化”全棧開發人員是頂好的主意,因為這不是一個專業領域。

基本上,你應該專注於獲取你可能會用到的最常見的技術棧的廣泛知識,但你應該選擇一個或兩個主要的專業,然後朝著選擇的方向真正地去深入鑽研。

所有軟體發展人員都應該知道如何創建使用者介面,所使用的框架的基礎,如何從應用程式中存儲和檢索資料庫中的資料,甚至瞭解基礎設施如何支援軟體,他們不需要成為所有所有這些領域的專家,因為這些領域不但相當大而且在不斷擴大。

具備技術堆疊中通用和有效的所有知識或一些領域中的專業化知識或許要好得多。

然後,你仍然可以稱自己為“全棧”,但實際上,對於團隊而言,你這樣的人才更加有用得多。

翻譯作者:碼農網– 小峰

(版權聲明:我們尊重原創,轉載文章非商業用途,僅供傳播使用,版權歸原作者所有。“求職秀”所推送文章,除非確實無法確認,我們都會注明作者和來源。部分文章推送時未能與原作者取得聯繫。若涉及版權問題,煩請原作者聯繫我們,與您共同協商解決。聯繫方式:010-57018949)

近期熱門閱讀TOP10

戳原文,更有料,直奔offer!

Next Article
喜欢就按个赞吧!!!
点击关闭提示