柯尔特斯蒂尔

在世界软件工程的,究竟是什么一个全栈开发人员做的,它是如何从其他节目的角色有什么不同?是好还是坏,“全栈开发”是许多编程工作一个共同的称号。然而,并不是每个人都同意这个词的手段。在这篇文章中,我们将讨论这个词的手段,它为什么如此极化。

什么是堆栈?

之前,我们可以定义“完整的堆栈,”它有助于有一个单词的工作定义“堆栈”。一个技术人员栈是一套完整的技术公司用来构建应用程序。通常情况下,一个堆栈包括一个或多个编程语言,库,服务器,数据库,框架和开发工具。

大多数高科技公司容易讨论他们的技术堆栈的成分,有些甚至会用他们的筹码来吸引准员工。例如,根据网站StackShare,Pinterest的的技术堆栈包括:

Web开发人员训练营

最后更新2020年8月

  • 406个讲座
  • 所有级别
4.6 (180249)

唯一的办法,你需要学习Web开发 - HTML,CSS,JS,节点,以及更bob外围官网多!|柯尔特斯蒂尔

探索课程

尤伯杯的技术堆栈包括:

堆栈的各个部分

我省略了一些技术从上面的列表中,但你仍然可以看到,现代高科技栈变得相当复杂。在21世纪初,应用增长的复杂性,以及开发商开始专注于堆栈的两个部分之一:前端和后端。在我们进入了两者之间的区别,让我们快速回顾一下如何上网工程(在一个非常,非常高的水平)。

当你访问一个网页,如udemy.com,您的电脑向服务器发送请求的特定页面的请求。你好,udemy.com我想你的主页。深Udemy总部,服务器等待请求,就像你进来(实际上,这些服务器可能位于亚马逊AWS设施的地方)。一旦服务器接收你的要求,它的工作是收集构建一个特殊请求的网页,然后将其发回给你的浏览器中显示所需的任何信息和代码。一个这种循环请求和一个结果响应会在幕后任何时候你访问一个网站,无论是facebook.com或whattimeisit.com。

要明白,当你请求像udemy.com网页,服务器不与五脏俱全网页为你准备好应对消费是很重要的。相反,它的代码是没有意义的人类的平均响应。这是你的浏览器中使用之前的代码,并把它变成一个人类可读的网页的工作。

整个过程有点像那您邮寄成分的框,你必须自己做饭吃饭的那些-kit的服务之一。首先你请求一餐包,让我们说,在杏花鸡用黑醋绿豆。这顿饭杰公司收到您的请求,并做了所有必要的工作,以建立自己的盒子:购物的配料,包装他们,并为您创造的说明。最终,该公司响应与餐包,然后几天后,您会收到满满一箱生鸡脯肉,杏蜜饯,香醋敷料,青豆,以及一套用于烹饪餐指令。你还没有吃饭本身;在这一点上,它只是一组的成分。你要做的其实做饭的自己在自己的厨房工作。

这个比喻解释说,网页是在服务器的地方,并在浏览器中运行的代码运行的结果代码的笨方法。就像我父母的婚姻顾问总是说 - 还有待双方完成的工作!

后端开发

后端也称为服务器端,是运行在服务器上的“幕后”逻辑。在我们的餐包比喻中,后端是餐包到达前门之前发生的事情。原料都买好了,说明书写好了,所有的东西都打包好寄给你。类似地,当你请求一个网页时喜欢udemy.com,服务器做一堆的工作来创建网页“餐包”给你的。

这包括像处理的问题:

这是用户登录?或者是他们一个全新的用户?他们是否要求他们有权查看的网页?什么课程?他们已经拥有的,如果有的话?多少进步,他们在每个过程中所作?什么是今天的热门话题,并且每个主题中收视率最高的课程?什么顺序我列出这些课程?我可以建议哪些课程给该用户,他们可能会喜欢?有售的课程吗?该用户是否拥有任何通知或消息,我应该告诉他们什么?

后端开发人员编写的代码,以使所有这些工作。后端开发人员的角色是落实在给定的Web应用程序的所有必要的“商业逻辑”。通常,这需要与服务器,实际应用程序逻辑和数据库工作。当你在一个堆栈的前面的例子中看到,许多公司都使用多种编程语言和数据库一起。

最流行的后台脚本语言包括使用Java,Python和PHP,虽然也常用其他语言如Ruby,Node.js的,围棋,Scala和C ++。后端开发人员经常与喜欢的Django,一个Python框架,Laravel,一个PHP框架服务器端框架的工作。其他流行的框架包括瓶,快速,春天,凤凰,和Ruby on Rails。这些工具帮助开发人员创建Web应用程序和响应进来的请求;他们中的一些也做了很多!

后端开发人员还经常与复杂的数据和交互与像MySQL和PostgreSQL,MongoDB的,和许多其他数据库的工作。

前端显影剂

在“前端”是指一个Web应用程序在浏览器中运行的部分。在我们从早期的餐包的比喻,前端是你在家里的厨房,你需要使用您在邮件中收到的成分组装了一顿。当您请求例如网页udemy.com,服务器构建了一个网页,它发回给你的浏览器,但要记住的网页实际上只是一堆代码,您的浏览器中运行。前端开发人员编写的代码。

Web浏览器了解三种主要工具:HTML、CSS和JavaScript。这些技术允许我们创建漂亮(或难看)的交互式web应用程序。它们是任何前端开发人员的面包和黄油。每种工具都有特定的作用:

例如,当你在一个网站后发表新评论,JavaScript代码监听你点击“提交”或按下回车键。然后,它读取形式的新评论和发送数据从服务器保存到数据库(感谢一些后端逻辑)。最后,它更新当前网页显示除了已有的评论你的新评论。JavaScript的也可用于构建基于浏览器的游戏。

前端开发人员花费了大量的时间与这三个前端技术方面的工作。此外,大多数现代Web应用程序内置的JavaScript库和框架等反应,角度和Vue公司,这可帮助开发人员管理复杂的前端的创建。前端开发人员经常与网页设计师和UX设计师密切合作,以构建用户界面应用程序。很多初学者认为前端开发是所有的“装饰”和“使事情看起来不错,”但事实并非如bob外围官网此!许多前端开发人员把时间花在解决浏览器和编写复杂的JavaScript逻辑的局限性强加困难的技术挑战。

全栈开发

现在我们来到了这篇文章的核心问题:到底什么是全栈开发者?从理论上讲,一个完整的堆栈开发是一个编码自升式的,全行业谁掌握了开发堆栈的每一个部分bob外围官网

在我们的膳食套件类比一致,一个完整的堆栈开发人员构建的餐包和厨师这一点。全栈开发应该能够创建一个完整的Web应用程序,前端和后端,一切靠自己。他们应该是舒适的JavaScript和CSS一天,Python的(或其他语言)和SQL接下来,所有在高层。这是理想的,但它实际上是可能的吗?

近年来,出现了对这个定义完整的堆栈的显著推回。开发人员倡导者布赖恩·里纳尔迪写道:“我不是长期的粉丝‘全栈开发商。’我认为它给公司一个简单的方法不切实际的要求的一切,套无法实现的标准,尤其是对初级开发者。”

在当今这个超级复杂的应用程序和不断变化的技术的世界中,要保持对一种语言的最新趋势和工具的领先地位已经很困难了,更不用说栈的每个部分了。当然也有在开发栈的每一个部分都拥有渊博知识的开发人员,但他们是例外。bob外围官网我们中的大多数人都只是凡人,努力在不中断应用程序、不崩溃在眼泪坑里的情况下度过一天。

全栈的一个更现实的定义

这些天,许多开发者更喜欢一个全栈开发的一个更容易实现,更广泛的定义。此人是在堆栈中的某些部分的专家,但整个堆栈舒适的工作。一个完整的栈开发人员可以从头开始编写完整的应用程序,无论是前端和后端代码,虽然它可能不是所有在高层。

IDEO公司首席执行官蒂姆·布朗使用术语“T形人”来形容谁拥有广阔的知识基础,在一个或多个区域(深厚的专业知识的“T”的垂直部分组合(即“T”的水平部分)的人)。一个完整的叠层显影剂应该是一个“T形显影剂”。换句话说,一个完整的堆栈开发者需要有丰富的经验,并在特种整个堆叠和专业知识的理解。他们考虑一个“万事通和至少一个大师。”

例如,假设一个全栈开发人员可能需要使用JavaScript专家级经验,反应,和其他前端工具,但他们也应该感到舒适的必要的后台逻辑,使用数据库,实现身份验证,部署等,他们将有可能是“弱”比专用的后端开发后端代码,但总体上他们有一个更全面的技能。

为什么这种区别事项

没有什么错是一个专门开发。在许多情况下,专业的前端或后端专家们更hirable,并且可以命令更高的薪水。与此同时,许多企业需要多才多艺谁拥有更广泛的技能开发。这一点在开发者需要跨越的工作栈,以获得产品出了门创业公司和小公司尤其常见。

它并不适合所有人,但作为一个全栈开发而来的是一系列的优势呢。熟悉堆栈的各个部位让你更“善解人意”的开发商。具有应用程序的工作原理有充分的了解可以帮助你确定哪些事情可能会出问题。它给你的能力合作,并与你的团队更专业的开发人员沟通。最后,全栈开发人员可以使用自己的技能来构建自己的原型和侧项目。

如果你是一个初学者,不要在术语或这些位置的标签赶上了。不要强调自己出努力学习阳光下的每一种语言和框架。专注于一个或两个工具,并坚持使用他们,不管它是多么诱人的跳来跳去技术之间。

我建议所有的初学者学习HTML,CSS和JavaScript即使你打算成为后端开发者。前端和后端之间的边界定义不清,你很可能会学习了一下两者的旅程。这是比较容易成为“各行各业都没有高手杰克”,但要记住这里的目标是成为一个“万事通和至少一个大师,”这需要显著更多的工作。

最后更新日期:2020年6月

网页开发的顶级课程bob外围官网

PHP的MySQL和CodeIgniter的课程:完全指南
法塔赫Gabrial
4.4 (74)
编程简介
框架影视公司,马克Lassoff
4.6 (945)
*新* DOM 2020建立动态的网站使用JavaScript第1部分
马修·克莱德
4.9 (135)
畅销书
Web开bob外围官网发初学者
阿德南·艾哈迈德
4.3 (342)
成为一名专业程序员
石头河电子学习
4.6 (583)
JAMStack:完全指南
雷维尔容
4.7 (39)

更多网页开发课程bob外围官网

网络开发bob外围官网的学生也会学习

使您的团队。引领行业。

获取订阅的在线课程和数字学习工具库与您Udemy组织业务。

申请演示

柯尔特斯蒂尔课程