阅读更多

0顶
0踩

非技术

转载新闻 什么是后端开发?

2017-03-13 14:43 by 副主编 jihong10102006 评论(0) 有5267人浏览
软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。

在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,允许你在系统的用户界面部分中创建可以被视为业务逻辑的大部分内容。

此外,随着越来越多的团队采用敏捷方法,个体程序员被要求不仅仅能工作于他们的专业领域,因为任务被分配给团队远超过个人。

我认为成为一个全栈开发人员是有用的——并且你应该充分了解软件的每个层次发生了什么——但我不认为“专业化”全栈开发人员是顶好的主意,因为这不是一个专业领域。

基本上,你应该专注于获取你可能会用到的最常见的技术栈的广泛知识,但你应该选择一个或两个主要的专业,然后朝着选择的方向真正地去深入钻研。

所有软件开发人员都应该知道如何创建用户界面,所使用的框架的基础,如何从应用程序中存储和检索数据库中的数据,甚至了解基础设施如何支持软件,他们不需要成为所有所有这些领域的专家,因为这些领域不但相当大而且在不断扩大。

具备技术堆栈中通用和有效的所有知识或一些领域中的专业化知识或许要好得多。

然后,你仍然可以称自己为“全栈”,但实际上,对于团队而言,你这样的人才更加有用得多。

英文原文:What Is Back-End Development?
  • 大小: 253.7 KB
  • 大小: 60.3 KB
  • 大小: 52.8 KB
来自: codeceo
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 什么是前端开发?什么是后端开发?

    什么是前端开发? 概念 我们通常所说的前端开发通常指的是网站的创建 网站是一个用户界面,也就是你在网站上看到的的文本、按钮、图像还有视图。那么创建这些可交互界面的实践就叫做WEB界面的开发 就像是你在银行里...

  • 什么是后端开发?后端能做什么?全栈工程师又是什么?

    软件应用程序就像冰山一样。用户看到的只是应用程序的一部分——在大多数情况下——应用程序的最大部分是看不到的。这就是令人难以捉摸又神秘的“后端”。  在Web开发的篇章中,... 后端开发人员是这样的开发人员

  • vue是用于前端开发还是后端开发?

    Vue 是一个用于构建用户界面的 JavaScript 框架。它主要用于前端开发,也就是浏览器端开发。在前端开发中,Vue 可以帮助开发人员快速构建出美观、可交互的...它可以与后端服务进行交互,但本身不是后端开发工具。 ...

  • 什么是web前端开发和后端开发?

    1、什么是前端开发? 前端开发主要是关于网站和应用程序,用户可以从应用程序屏幕或浏览器上看到东西。简而言之,你在应用屏幕和浏览器上看到的都是前端。 网站和移动App的前端 让我们以你正在浏览的网页为例。页面...

  • 想要从事Java后端开发?请先把这几项硬技能熟悉掌握

    首先我们就要做好面试准备,拿Java后端开发为例,无论是实习还是校招或社招,都是要熟练掌握基础知识。下面我们就来看一下Java后端开发需要掌握哪些知识。 基础知识: 计算机网络:OSI七层模型和TCP/IP四层模型,...

  • 什么是web?什么是前端、后端、数据库?

    什么是前端、后端、数据库?什么是web前端三大技术介绍 什么是web  Web开发是一个内容广阔的技术。何为web呢?百度百科是这样解释的:web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP...

  • python前端和后端的区别_什么是后端?什么是前端?

    作为一名开发者,你可能会想:2020年最好的软件开发技术和编程语言会是什么?它们又是如何被应用在软件开发...1、什么是前端开发?前端开发主要涉及网站和 App,用户能够从 App 屏幕或浏览器上看到东西。简单地说,...

  • java 后端开发好吗_Java语言哪里好?为什么那么多人选择Java后端开发?

    为什么那么多人选择Java后端开发?到后来我看到了这张图之后,终于明白了这个趋势的原因。根据最新2020年TIOB编程语言指数排行榜中,java位高居第三。TIOBE编程排行榜是根据全球工程师、课程及搜索引擎数量作为指数得...

  • python后端是什么_python是后端吗?

    Python属于后端开发,Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有...

  • 什么是前端,后端???什么是后台???

    什么是后台??? 也许一开始听别人介绍这些概念,或者从书上,或者从视频上了解了相关概念,但是还是摸棱两可。 UI:(user interface)UI主要指界面的样式 前端:用来控制样式 后端:用来控制样式背后的功能 后台:...

  • Java后端开发需要学什么?为什么选择后端开发

    我们不会在本文中将这些语言相互比较,而是尝试回答这个问题:何时以及为何选择Java进行后端开发。 实际上,有几个参数取决于语言选择,例如语言能力、编码的难易程度、对不同操作系统和移动平台的支持、项目的规模...

  • 什么是后端渲染?什么是前端渲染?后端渲染和前端渲染又有什么区别呢?

    什么是后端渲染?什么又是前端渲染呢?后端渲染和前端渲染又有什么区别呢? 最近在学习Vue的时候接触到了这个话题,我觉得还挺有意思的,所以写下来,记下来。 一、什么是后端渲染? 我们都知道现在的网页都由...

  • 开始编程职业生涯我应该先学习前端还是后端开发?

    我如何开始我的编程生涯,我应该先学习前端还是后端开发?是否可以尝试从前端切换到后端? 我们在尝试做出决定时经常会遇到类似的反应:“当然,从前端开始,它很容易学习。后端比较复杂。首先——你需要开始研究...

  • 前端开发和后端开发究竟有什么区别?详细介绍

    比如做一个登陆页面,用户在...后端更多是考虑业务逻辑、数据库表结构设计、服务器配置、负载均衡、数据的存储、跨平台API设计等等,更多的是考虑用户看不到的部分,保证业务逻辑处理数据的谨,保证数据吞吐的性能。

  • 毕业设计基于STC12C5A、SIM800C、GPS的汽车防盗报警系统源码.zip

    STC12C5A通过GPS模块获取当前定位信息,如果车辆发生异常震动或车主打来电话(主动请求定位),将通过GSM发送一条定位短信到车主手机,车主点击链接默认打开网页版定位,如果有安装高德地图APP将在APP中打开并展示汽车当前位置 GPS模块可以使用多家的GPS模块,需要注意的是,当前程序对应的是GPS北斗双模芯片,故只解析 GNRMC数据,如果你使用GPS芯片则应改为GPRMC数据即可。 系统在初始化的时候会持续短鸣,每初始化成功一部分后将长鸣一声,如果持续短鸣很久(超过20分钟),建议通过串口助手查看系统输出的调试信息,系统串口默认输出从初始化开始的所有运行状态信息。 不过更建议你使用SIM868模块,集成GPS.GSM.GPRS,使用更加方便

  • 基于tensorflow2.x卷积神经网络字符型验证码识别.zip

    基于tensorflow2.x卷积神经网络字符型验证码识别 卷积神经网络(Convolutional Neural Networks, CNNs 或 ConvNets)是一类深度神经网络,特别擅长处理图像相关的机器学习和深度学习任务。它们的名称来源于网络中使用了一种叫做卷积的数学运算。以下是卷积神经网络的一些关键组件和特性: 卷积层(Convolutional Layer): 卷积层是CNN的核心组件。它们通过一组可学习的滤波器(或称为卷积核、卷积器)在输入图像(或上一层的输出特征图)上滑动来工作。 滤波器和图像之间的卷积操作生成输出特征图,该特征图反映了滤波器所捕捉的局部图像特性(如边缘、角点等)。 通过使用多个滤波器,卷积层可以提取输入图像中的多种特征。 激活函数(Activation Function): 在卷积操作之后,通常会应用一个激活函数(如ReLU、Sigmoid或tanh)来增加网络的非线性。 池化层(Pooling Layer): 池化层通常位于卷积层之后,用于降低特征图的维度(空间尺寸),减少计算量和参数数量,同时保持特征的空间层次结构。 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling)。 全连接层(Fully Connected Layer): 在CNN的末端,通常会有几层全连接层(也称为密集层或线性层)。这些层中的每个神经元都与前一层的所有神经元连接。 全连接层通常用于对提取的特征进行分类或回归。 训练过程: CNN的训练过程与其他深度学习模型类似,通过反向传播算法和梯度下降(或其变种)来优化网络参数(如滤波器权重和偏置)。 训练数据通常被分为多个批次(mini-batches),并在每个批次上迭代更新网络参数。 应用: CNN在计算机视觉领域有着广泛的应用,包括图像分类、目标检测、图像分割、人脸识别等。 它们也已被扩展到处理其他类型的数据,如文本(通过卷积一维序列)和音频(通过卷积时间序列)。 随着深度学习技术的发展,卷积神经网络的结构和设计也在不断演变,出现了许多新的变体和改进,如残差网络(ResNet)、深度卷积生成对抗网络(DCGAN)等。

  • 【三维装箱】遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】.zip

    【三维装箱】遗传和模拟退火算法求解三维装箱优化问题【含Matlab源码 031期】.zip

  • 自己编写的python 程序计算cpk/ppk

    cpk&ppk python 小程序,品友点评

  • 基于Springboot开发的分布式抽奖系统.zip

    基于springboot的java毕业&课程设计

Global site tag (gtag.js) - Google Analytics