軟件應用程序就像冰山一樣。用戶看到的只是應用程序的一部分——在大多數情況下——應用程序的最大部分是看不到的。這就是令人難以捉摸又神秘的“後端”。
在Web開發的篇章中,我們主要討論Web開發,因為它涉及與最終用戶的直接互動——我們可以稱之為“前端Web開發”。
在大多數應用中,非用戶接口代碼比用戶接口代碼多得多。複雜系統是在後臺發生的各種使其工作的邏輯。
我們需要存儲和檢索數據,需要遵循業務邏輯和規則,並且需要對結果進行預測。所有這一切都發生在幕後。
後端開發究竟是什麼?
這篇文章的目的在於,我將會考慮後端開發是一種不涉及創建生成用戶界面的開發。這可能包括後端Web開發,可能也涉及編寫API,創建庫或和沒有用戶界面或甚至科學編程系統的系統組件一起工作。
在現實中,即使前端開發獲得了大部分的榮耀,但是世界上存在的大多數代碼(可以說是最有用的代碼)是最終用戶從來不會看到的後端代碼。
簡單來說,後端開發就是開發人員編寫的不能直接看到的代碼。
後端開發人員做什麼?
根據正在處理的應用程序的大小和範圍,後端開發人員要做的事情有很大的不同。在我是一個後端開發人員時,我做了很多工作,工作於應用程序中的業務邏輯,以及從前端提取和檢索數據。
在Web開發世界中,大多數後端開發人員從事於構建他們正在工作的應用程序背後的實際邏輯。
通常,前端開發人員構建用戶界面,而後端開發人員編寫代碼,使其工作。
例如,前端開發人員在應用程序中創建一個界面,上面有一個按鈕,按下按鈕來獲取客戶的數據。
後端開發人員寫可使得按鈕工作的代碼,通過指出從數據庫中提取哪些數據並將其傳回到前端(並最終顯示在那裡)。
後端開發人員也可能會大量參與系統架構,決定如何組織系統的邏輯,以便能夠正常維護和運行。
他可能會參與構建框架或系統架構,以便於更容易編寫程序。後端開發人員比前端開發人員花費更多的時間在實現算法和解決問題上。
我一直都很喜歡後端開發工作,因為它更像一個挑戰。
這並不是說前端開發人員不解決難題,但通常前端開發工作更多的是關於創建用戶界面和與之相關的內容,而不是實現實際的業務邏輯,使應用程序工作。
後端開發的主要技術和技能
前端開發人員需要知道一系列用於創建用戶界面的工具,而後端開發人員通常使用的是一套完全不同的工具和技能,以便於高效地完成他們的工作。
後端開發人員所需的一個重要技能與SQL和數據庫有關。大多數後端系統需要連接到存儲應用程序數據的數據庫。
後端開發人員通常的工作是從數據庫或其他數據源寫入、讀取和處理數據,因此擁有SQL等技能會非常重要。後端開發人員——至少對於Web開發——也需要擅長他們正在使用的技術棧的服務器端語言。
例如,雖然前端Web開發人員更多地專注於HTML,CSS和JavaScript,而後端開發人員需要更多地瞭解PHP Web框架,Ruby on Rails,ASP.NET MVC或任何正用於構建應用程序的服務器端Web開發框架。
最後,我想說,後端開發人員需要更多地瞭解應用程序架構,因為大多數情況下,後端開發人員需要去構建應用程序的體系結構和內部設計。
一個好的後端開發人員得知道如何使用各種框架和庫,如何將它們集成到應用程序中,以及如何構建代碼和業務邏輯,用一種使系統更易於維護的方式。
如果你喜歡設計應用程序的基礎設施,實現算法和邏輯,以及工作於數據,那麼你可能會喜歡成為一名後端開發人員。
歡迎大家參與發言。
閱讀更多 學霸IT 的文章