如何成为全栈开发人员:第 2 部分

已发表: 2017-12-02

这是关于自学编程和全栈开发的系列文章中的第二篇。 如果您还没有查看关于学习 CS 基础知识、算法、设计原则和前端开发的第一部分,您可以在此处查看。

动机

您现在知道如何使用 HTML、CSS 和 Javascript 构建静态网站。 尽管 Internet 最初旨在共享静态网页,但现代 Web 应用程序的功能(和期望)已大大增加。 几乎每个应用程序都要求您对用户进行身份验证、响应他们并尽可能接近地复制真实场景。
要执行上述操作,您需要从用户(或 API)获取数据,对其进行处理并生成输出。 您还需要保存这些数据,并有一种机制在用户下次返回使用您的应用程序时识别用户。 要执行这些功能,我们目前的堆栈是不够的。
Bizongo 联合创始人兼首席技术官 Ankit Tomar 访谈

服务器需要处理用户数据、存储文件、将其转换为 HTML/CSS/JS。 然后,这些服务器以可以呈现给用户的形式将其提供给浏览器。 需要一个数据库来存储对您的应用程序很重要的数据。 要对服务器进行编程,我们需要一种服务器端脚本语言,而对于数据库,我们需要一个数据库(duh)和一种与之通信的语言。 这正是我们在接下来的步骤中要做的。 前七个,请参考之前的帖子!

目录

第 8 步:服务器端脚本语言

如前所述,要对服务器进行编程和通信,您需要了解它所理解的语言。 与 Javascript 是唯一选择的前端不同,有许多选项可供您在后端编程。 最流行的是 Java、PHP、Python、JavaScript 和 Ruby。
PHP 有它的缺点,但它的学习曲线是我迄今为止使用的所有语言和框架中最温和的。 PHP 是关于编码快速(和肮脏)的解决方案。 因此,在极短的时间内,您就可以构建一个引以为豪的 Web 应用程序。
如何成为全栈 Web 软件开发者 UpGrad Blog front end backend
Java 是一种通用编程语言,并且可能是有史以来最流行的语言。 它在构建移动应用程序(在 Android 平台上)方面非常流行,并在大多数主要科技公司中广泛使用。 Head First Java是学习这种无处不在的语言的绝佳场所。
要学习 Python,我强烈推荐Zed Shaw 的 Learn Python the Hard Way Albert Sweigart 的 Automate the Boring Stuff with Python。 如果您决定使用 PHP,您可以在 Codecademy 上学习该语言的基础知识。
您已经了解了足够多的 JavaScript 语法,可以使用 Node 和后端 JS 框架(例如 Express)。 稍后我将结合 Rails 介绍 Ruby,因为它很少用作独立语言。

第 9 步:学习 SQL

对于下一步,您可能应该学习一点 SQL(结构化查询语言)。 它是与之通信的语言数据库。 尽管在切换到使用框架时可能不会直接使用它,但了解如何直接与数据库通信仍然会有所帮助。 好消息是 SQL 非常容易学习。 您应该能够在几个小时内很好地掌握它。 Head First SQL是一个很好的资源。
如何成为全栈开发人员:第 1 部分

第 10 步:学习“传统”全栈 Web 框架

现在是试验可以为您完成大部分较低级别工作的 Web 框架的好时机。
不乏可以满足所有可以想象的目的的优秀框架。 Rails(用 Ruby 编写)、Spring(用 Java 编写)和 Django(用 Python 编写)是当今流行的框架。 您可以查看 Michael Hartl 的The Rails 教程 –免费提供。
就 Django 而言,官方网站上的教程是一个很好的起点。 一旦您对框架的基础知识感到满意,请阅读《Two Scoops of Django 》。 这是有史以来最好的技术书籍之一。
如果您决定走 Spring 路线,我强烈建议您注册UpGrad 和 IIIT-B 的软件开发计划。 该程序为您提供了一个非常全面的框架概述,并帮助您构建一个强大且可扩展的后端。

第 11 步:Javascript 全栈框架和 MEAN 栈

不久前,后端开发曾经是基于请求-响应周期的概念。 例如,浏览器发送了一个请求,服务器通过吐出一个 HTML 网页来响应。 然而,自 2010 年初以来,越来越多的应用程序变得实时。
整个网页的结构在不刷新的情况下发生变化,并根据用户输入和交互(想想聊天、喜欢、评论、实时视频和反应等)动态地运行。
如何成为全栈 Web 软件开发者 后端 UpGrad 博客
在这种情况下,简单的请求-响应循环是不够的。 因此,最近人们对异步编程的兴趣激增,并使 AJAX 请求成为常态。 Javascript 框架往往在这方面表现出色。 因此,熟悉市场上可用的主要 JS 框架之一是有意义的。 最流行的两个是 MEAN Stack 和 MeteorJS。
采访 Fynd 联合创始人 Farooq Adam

学习 MEAN 由于其异步性质而稍微复杂一些,并且回调地狱节点通常倾向于释放。 但是现在您是一位经验丰富的开发人员,您已经足够成熟,可以处理它的特性了。
Meteor 是我目前正在试验的全栈 JS 框架。 Meteor 的概念绝对令人愉快——一种语言的框架,负责处理应用程序的所有组件(前端、后端和数据库)。 然而,这是以定制自由为代价的。 一旦你在 Meteor 中构建了一些东西,如果你选择这样做,几乎不可能更改数据库或后端框架。 不过,我仍然认为这是一项值得学习的技术。 众所周知,流星非常强大。 它能够用数百行代码完成其他传统框架需要上千行代码的事情。

结论

第 2 部分到此结束。在这篇文章中,我们介绍了有关后端开发和各种可用的全栈技术的资源。 您现在可以自豪地称自己为全栈开发人员。 恭喜!
但是全栈 Web 开发的故事并没有到此结束。 随着 iPhone 的推出,全球范围内掀起了一场智能手机革命。 越来越多的人开始转向使用智能手机代替台式机。 在这种情况下,您必须学习为两个最流行的平台构建应用程序:Android 和 iOS。 我们将在本系列的下一部分和最后一部分中介绍这一点。 此外,我们还将研究允许我们使用 Javascript(Ionic、React Native 等)构建原生应用程序的框架。
到那时,再见。
欢迎您提出意见和建议!

成为全栈开发人员

UpGrad 和 IIIT-Bangalore 的软件开发 PG 文凭
了解更多