英语书名:What Is Back-End Development?
软件插件就像沙丘那样。使用者看见的只是插件的一小部份——在绝大多数情况下——插件的最绝大部份是看不出的。这是更让人冷酷无情又谜样的“后端”。
在Web合作开发的诗篇中,他们主要探讨Web合作开发,因为它牵涉与终端使用者的间接交互——他们能称作“后端Web合作开发”。
在绝大多数应用领域中,非使用者USB标识符比使用者USB标识符大得多。繁杂控制系统是在前台出现的各式各样使其组织工作的方法论。
他们须要储存和索引统计数据,须要遵从销售业务方法论和准则,因此须要对结论进行预估。大部份这大部份人都出现在主脑。
后端合作开发者是这样的合作开发者。
后端合作开发到底是甚么?
这首诗的目地是,我将会考量后端合作开发是一种不牵涉建立聚合界面的合作开发。这可能将包括后端Web合作开发,可能将也牵涉撰写API,建立库或和没有界面或即使自然科学程式设计控制系统的控制系统模块一同组织工作。
在现实生活中,即便后端合作开发赢得了绝大部份的王者,但是当今世界上存有的绝大多数标识符(能说是最管用的标识符)是终端使用者从不会看见的后端标识符。
单纯而言,后端合作开发是合作开发者撰写的不能间接看见的标识符。
后端合作开发者做甚么?
依照已经开始处置的插件的大小不一和覆盖范围,后端合作开发者要做的事有非常大的不同。在我是一个后端合作开发者时,我做了许多组织工作,组织工作于插件中的销售业务方法论,以及从后端抽取和索引统计数据。
在Web合作开发当今世界中,绝大多数后端合作开发者专门从事于构筑他们已经开始组织工作的插件另一面的前述逻辑。
一般而言,后端合作开发者构筑界面,尔后端合作开发者撰写标识符,使其组织工作。
后端合作开发者写可使得按钮组织工作的标识符,通过指出从统计数据库中抽取哪些统计数据并将其传回到后端(并最终显示在那里)。
后端合作开发者也可能将会大量参与控制系统架构,决定如何组织控制系统的方法论,以便能够正常维护和运行。
他可能将会参与构筑框架或控制系统架构,以便于更容易撰写流程。后端合作开发者比后端合作开发者花费更多的时间在实现算法和解决问题上。
我一直都很喜欢后端合作开发组织工作,因为它更像一个挑战。
这并不是说后端合作开发者不解决难题,但一般而言后端合作开发组织工作更多的是关于建立界面和与之相关的内容,而不是实现实生活际的销售业务方法论,使插件组织工作。
后端合作开发的主要技术和技能
后端合作开发者须要知道一系列用于建立界面的工具,尔后端合作开发者一般而言使用的是一套完全不同的工具和技能,以便于高效地完成他们的组织工作。
后端合作开发者所需的一个重要技能与SQL和统计数据库有关。绝大多数后端控制系统须要连接到储存插件统计数据的统计数据库。
后端合作开发者一般而言的组织工作是从统计数据库或其他统计数据源写入、读取和处置统计数据,因此拥有SQL等技能会非常重要。后端合作开发者——至少对于Web合作开发——也须要擅长他们已经开始使用的技术栈的服务器端语言。
例如,虽然后端Web合作开发者更多地专注于HTML,CSS和JavaScript,尔后端合作开发者须要更多地了解PHP Web框架,Ruby on Rails,http://ASP.NET MVC或任何正用于构筑插件的服务器端Web合作开发框架。
最后,我想说,后端合作开发者须要更多地了解插件架构,因为绝大多数情况下,后端合作开发者须要去构筑插件的体系结构和内部设计。
一个好的后端合作开发者得知道如何使用各式各样框架和库,如何将它们集成到插件中,以及如何构筑标识符和销售业务方法论,用一种使控制系统更易于维护的方式。
如果你喜欢设计应用流程的基础设施,实现算法和方法论,以及组织工作于统计数据,那么你可能将会喜欢成为一名后端合作开发者。
关于全栈合作开发者?
我曾想为全栈合作开发者另起一首诗,但后来想到,既然已经涵盖了Web合作开发和后端合作开发,那么延伸开去谈论全栈合作开发更为理所当然,因为全栈合作开发刚好牵涉了后端和后端合作开发。
前述上,全栈合作开发包括处置控制系统或软件合作开发堆栈的大部份模块和层。它即使可能将牵涉了解服务器硬件和架构,或者被认为是DevOps。
今天,越来越多的软件合作开发职位在寻找能够进行全栈合作开发的合作开发者,因为对于软件合作开发者而言能够组织工作于牵涉的整个技术栈是很有价值的,而不是将后端合作开发与后端合作开发兵分两路。
一小部份原因是现在越来越多的插件模糊了后端和后端合作开发之间的界限。
许多流行的JavaScript框架,如Angular,允许你在控制系统的界面部份中建立能被视为销售业务方法论的绝大部份内容。
此外,随着越来越多的团队采用敏捷方法,个体流程员被要求不仅仅能组织工作于他们的专业领域,因为任务被分配给团队远超过个人。
我认为成为一个全栈合作开发者是管用的——因此你应该充分了解软件的每个层次出现了甚么——但我不认为“专业化”全栈合作开发者是顶好的主意,因为这不是一个专业领域。
大部份软件合作开发者都应该知道如何建立界面,所使用的框架的基础,如何从插件中储存和索引统计数据库中的统计数据,即使了解基础设施如何支持软件,他们不须要成为大部份大部份这些领域的专家,因为这些领域不但相当大而且在不断扩大。
具备技术堆栈中通用和有效的大部份知识或一些领域中的专业化知识或许要好得多。
然后,你仍然能称自己为“全栈”,但前述上,对于团队而言,你这样的人才更加管用得多。
学习交流群:点击链接加入群【java网络程式设计】后端的小伙伴,加入里面一同交流学习!