在大多數應用中,非用戶接口代碼比用戶接口代碼多得多。復雜系統是在後臺發生的各種使其工作的邏輯。需要存儲和檢索數據,需要遵循業務邏輯和規則,並且需要對結果進行預測。所有這壹切都發生在幕後。這些幕後的工作就是後端開發,而從事這項工作的人,就是後端開發人員。
在現實生活中,因為用戶們體驗軟件應用程序時,接觸前端會比較多,因此前端開發獲得了大部分的榮耀,但是不論是哪個軟件應用程序,存在的大多數的、有用的代碼都是後端代碼。壹款軟件應用的分工就是:前端開發人員構建用戶界面,而後端開發人員編寫代碼,使其工作。
例如:前端開發人員在應用程序中創建壹個界面,上面有壹個按鈕,按下按鈕來獲取客戶的數據。後端開發人員寫可使得按鈕工作的代碼,通過指出從數據庫中提取哪些數據並將其傳回到前端(並最終顯示在那裏)。後端開發人員也可能會大量參與系統架構,決定如何組織系統的邏輯,以便能夠正常維護和運行。他可能會參與構建框架或系統架構,以便於更容易編寫程序。後端開發人員比前端開發人員花費更多的時間在實現算法和解決問題上。
註:這裏並不是說前端開發人員不解決難題,但通常前端開發工作更多的是關於創建用戶界面和與之相關的內容,而不是實現實際的業務邏輯,使應用程序工作。後端開發的主要技術和技能前端開發人員需要知道壹系列用於創建用戶界面的工具,而後端開發人員通常使用的是壹套完全不同的工具和技能,以便於高效地完成他們的工作。
後端開發人員通常的工作是從數據庫或其他數據源寫入、讀取和處理數據,因此掌握SQL等技能會非常重要。
壹位優秀的後端開發人員得知道如何使用各種框架和庫,如何將它們集成到應用程序中,以及如何構建代碼和業務邏輯,用壹種使系統更易於維護的方式。因此設計應用程序的基礎設施,實現算法和邏輯,以及工作於數據都是屬於後端開發工作的。