文本:
软件运用程序就像冰山一样。用户只能看到运用程序的一部分,而且在大多数情形下,运用程序的最大部分是不可见的。这便是难以捉摸且神秘的“后端”。
在 Web 开拓章节中,我们紧张谈论 Web 开拓,由于它涉及与终极用户的直接交互 - 我们可以称之为“前端 Web 开拓”。

在大多数运用程序中,非用户界面代码比用户界面代码多得多。繁芜系统是在后台发生的使其事情的逻辑。
须要存储和检索数据、遵照业务逻辑和规则,并预测结果。所有这些都在幕后进行。
后端开拓职员便是这样的开拓职员。
后端开拓到底是什么?
就本文而言,我将后端开拓视为不涉及创建天生用户界面的开拓。这可能包括后端 Web 开拓,但也可能涉及编写 API、创建库或利用没有用户界面乃至科学编程系统的系统组件。
事实上,只管前端开拓得到了大部分的光彩,但天下上存在的大多数代码(可以说是最有用的代码)是终极用户永久看不到的后端代码。
大略来说,后端开拓便是开拓职员编写的无法直接看到的代码。
后端开拓职员紧张做什么?
后端开拓职员的事情内容因他们所开拓运用程序的大小和范围而异。当我还是一名后端开拓职员时,我做了很多事情,处理运用程序中的业务逻辑以及从前端提取和检索数据。
在 Web 开拓领域,大多数后端开拓职员致力于构建他们正在开拓的运用程序背后的实际逻辑。
常日,前端开拓职员构建用户界面,而后端开拓职员编写使其运行的代码。
例如,前端开拓职员在运用程序中创建一个界面,个中有一个按钮,可以按下该按钮来获取客户的数据。
后端开拓职员编写代码使按钮事情,通过确定从数据库获取哪些数据并传回前端(并终极显示在那里)。
后端开拓职员也可能深度参与系统架构,决定如何组织系统逻辑以便系统能够得到掩护和正常运行。
他可能参与构建框架或系统架构,以便于编写程序。后端开拓职员比前端开拓职员花费更多韶光实现算法和解决问题。
我一贯很享受后端开拓事情,由于它更具寻衅性。
这并不是说前端开拓职员不会办理难题,但常日前端开拓事情更多地是创建用户界面及其附带的内容,而不是实现使运用程序运行的实际业务逻辑。
干系教程推举:PHP中文网 PHP实用视频教程
后端开拓须要学什么?(后端开拓的紧张技能和技能)
前端开拓职员须要理解一系列用于创建用户界面的工具,而后端开拓职员常日利用完备不同的工具和技能来有效地完成他们的事情。
后端开拓职员须要具备的一项主要技能与 SQL 和数据库有关。大多数后端系统都须要连接到存储运用程序数据的数据库。
后端开拓职员常日从数据库或其他数据源写入、读取和处理数据,因此拥有 SQL 等技能非常主要。后端开拓职员(至少对付 Web 开拓而言)还须要精通他们所利用的技能堆栈的做事器端措辞。
例如,虽然前端 Web 开拓职员更关注 HTML、CSS 和 JavaScript,但后端开拓职员须要更多地理解 PHP Web 框架、Ruby on Rails、ASP.NET MVC 或用于构建运用程序的任何做事器端 Web 开拓框架。
末了,我想说后端开拓职员须要更多地理解运用程序架构,由于大多数时候,后端开拓职员卖力构建运用程序的架构和内部设计。
精良的后端开拓职员知道如何利用各种框架和库,如何将它们集成到运用程序中,以及如何以使系统更易于掩护的办法构建代码和业务逻辑。
如果您喜好设计运用程序根本架构、实现算法和逻辑以及处理数据,那么您可能会喜好成为一名后端开拓职员。
更多知识
那么全栈开拓职员怎么样?
什么是全栈开拓?请参考:如何自学成为一名精良的全栈工程师?
事实上,全栈开拓包括利用系统或软件开拓堆栈的所有组件和层。它乃至可能涉及理解做事器硬件和架构,或被视为 DevOps。
如今,越来越多的软件开拓岗位开始探求能够进行全栈开拓的开拓职员,由于对付软件开拓职员来说,能够对所涉及的全体技能栈进行事情是非常有代价的,而不是将前端开拓与后端开拓分割开来。
部分缘故原由是越来越多的运用程序模糊了前端和后端开拓之间的界线。
许多盛行的 JavaScript 框架(例如 Angular)许可您在系统的用户界面部分创建大量可被视为业务逻辑的内容。
此外,随着越来越多的团队采取敏捷方法,个人程序员被哀求从事不仅仅是他们专业领域的事情,由于任务被分配给团队而不是个人。
我认为成为一名全栈开拓职员很有用 - 你该当完备理解软件每一层发生的情形 - 但我不认为“专门”从事全栈开拓职员是最好的主张,由于它不是一个专业领域。
基本上,您该当专注于获取您可能利用的最常见技能堆栈的广泛知识,但您该当选择一两个紧张专业,然后真正深入研究这些领域。
所有软件开拓职员都该当知道如何创建用户界面、他们利用的框架的根本知识、如何在运用程序内存储和检索数据库中的数据,乃至理解根本举动步伐如何支持软件。他们不须要成为所有这些领域的专家,由于这些领域相称弘大且不断增长。
对技能堆栈中的所有内容或某些领域的专业化拥有一样平常且有效的知识可能会更好。
然后,你仍旧可以称自己为“全栈”,但实际上,你对团队更有用。