学习网络开发对于创始人而言是一个巨大的优势,即使了解基础知识也将非常有用。 这篇文章将为您提供一个概述,概述您需要学习的所有内容,入门指南以及可以用来快速学习的最佳资源的集合。
我将告诉您专业的全栈Web开发人员需要了解的所有内容,但是如果您仅想了解基础知识,则可以在“域名和托管”部分之后停止阅读。
最好的开始方法是学习所有网站的3种主要技术。 HTML定义网站的内容,CSS定义网站的外观(字体/颜色/图像/等),JavaScript允许您动态地操作元素(在互联网上看到的所有交互式内容都是使用JS制作的)。
学习基础知识的最佳方法是通过Udemy上的Web Developer Bootcamp 。
它会带您完成创建第一个网站的过程,并为您提供一个入门的好地方。
框架是使您能够更快,更轻松地实现所有常用功能的工具。
我建议尽早使用框架,因为它们可以使您更快地获得结果,同时又可以以非常自然和直观的方式教给您最佳实践。 仅通过使用框架,您就可以非常迅速地吸收大量知识,并且避免在任何不必要的事情上浪费时间。
在Web开发中,总是有大量的技术可供选择,对于新手来说,选择往往很困难。 对于本文的其余部分,我将避免给您带来混乱,而不是列出每种选择的优缺点,而是根据您的经验告诉您使用的最佳方法。
最好的入门场所是学习Bootstrap和jQuery 。 这些是迄今为止大多数网站使用的最受欢迎的框架。
Bootstrap是一个CSS框架,可为您提供一堆易于自定义的界面元素,并允许您快速创建响应式网站(响应式网站在移动设备上看起来不错)。
Bootstrap最近发布了新版本,您可以按照以下课程开始使用它:
jQuery是一个JavaScript框架,可大大简化您处理网页元素的方式。 它具有用于各种可能目的的大量插件,因此,每当需要一些交互元素时,都可以确保找到使用jQuery创建它的方法。 这也将非常容易,因为StackOverflow已经为您将遇到的95%的问题提供了解决方案。
要了解基础知识,您可以观看此精彩的讲座 。
最后,出于完整性考虑,我应该提到Compass 。 您不需要一开始就考虑它,因为它对于您创建网站的能力不是必需的,但是当您到达编写大量中间/高级CSS并开始发现它的地步时,有点乏味,您一定要牢记。 罗盘使得编写CSS 方式更快,更愉快的过程,所以如果你能投入几个小时后得知,那将是最好的生产力的助推器,你可以想像之一。
WordPress是世界上最受欢迎的内容管理系统。 如果您不是技术人员,并且只是希望快速开始制作一个易于自定义的网站-您只需学习安装和使用WordPress,仅此而已,您不需要进一步研究。 它具有无限数量的主题和插件,可以满足您90%的需求。
如果您有兴趣成为一名专业的Web开发人员,并学习创建自己的自定义网站,则可能希望跳过它并学习后端框架(我将在以下各节中对其进行介绍)。
一旦您了解了基础知识并建立了第一个网站,您自然希望将其提供给全世界。 同样,为了节省您的研究时间,我不会列出数百个可用选项,而只是告诉您要使用的“正确”方法。
要购买域名,您将使用Namecheap 。 顾名思义,它具有非常好的价格,并且还具有出色的用户体验。
要托管您的第一页,您应该使用Bluehost ,它价格便宜,易于使用,具有出色的文档和大量自动化工具。 它使安装WordPress或托管简单的html页面非常容易,因此,如果您的目标是快速入门,这正是您所需要的。
最后,当您走得更远并且获得更多技能时,您将需要VPS(虚拟专用服务器)。 简而言之,它是一台具有完全控制权的远程计算机,它将用于为使用框架构建的站点提供服务。 我强烈建议您使用DigitalOcean ,它价格实惠,界面美观且直观,过去四年来我一直很乐意使用它来托管我的所有网站。
现在,您已经学习了基础知识,并使用上面列出的工具创建了几个简单的网站,您可以决定更进一步,并学习如何专业地创建自定义网站。
为此,最好的起点是学习后端框架之一。 后端框架在服务器上运行,并在用户每次访问url时为网站动态生成html。
和往常一样,有很多选择,但是我将帮助您将其范围缩小到3个-Django , Ruby on Rails和Node / Express 。
在不同的开发人员中,您应该首先学习的观点有所不同,但是我强烈建议您从Django开始,然后学习Node / Express。
Django的主要优点是它是用Python编写的-一种美丽,功能强大的语言,可用于您可以想象的每个领域,同时,这也是第一种编程语言的最佳选择。
Django本身简单,强大,灵活,具有出色的文档以及构建95%网站所需的所有工具。 更重要的是,它将为您提供一个优秀的框架,供您思考后端代码,并理解它是学习Web开发的基本基础知识的绝佳方法。
我最喜欢的Django介绍是TutsPlus课程Django入门 ,从入门者到中级/高级的最好方法是一本非常好的书《 Django的两个勺子》 。
另外,我强烈建议Mike Hibbert's 提供免费的YouTube教程 。
Node和Express是非常强大的工具,我建议您在Django之后学习。 对于初学者来说,它们可能有点难,但是如果您对Django有所了解,那么您将很快而自然地学习它们。
Node具有许多优点,体验它们的最佳方法是亲自尝试一下。 通常,它使您可以比使用Django更快地构建网站,您将更深入地了解许多后端编程概念,可以更轻松地构建API,实时Web应用程序(例如聊天或游戏),以及通用的Web应用程序(学习React时会遇到它们)。
我遇到的最好的课程是完整的NodeJS开发人员课程 。
如果您了解HTML / CSS / JS和一个后端框架,则您是一个有能力的Web开发人员,可以创建多种类型的网站。 如果您想成为全栈开发人员,欢迎来到前端框架的世界。
前端框架将使您能够创建功能强大的单页应用程序。 此时,您实际上是在开发一个完全在浏览器中运行的应用程序,偶尔会与服务器(例如Gmail或Trello)交换数据。
很长一段时间以来,这个领域一直存在很多竞争,但是当您阅读本文时,最好的选择很明确-您应该学习React和Redux 。
我无法解释它们的工作方式或它们的优点(这将花费很长时间),但是幸运的是,有一门绝对绝妙的课程将教您所有您需要了解的内容-Modern React with Redux 。
要学习更多高级功能,您可以观看同一作者的本课程的第二部分-Advanced React和Redux 。
这些课程的作者Stephen Grider是一位绝对出色的老师,他对所有内容的解释都非常好,通过学习他的课程,您将学到很多有趣的技术,这将带来很多乐趣。
我强烈建议您使用Node和React / Redux创建一个网站,因为它确实可以帮助您掌握如何创建和使用REST API,并将整套技术组合到一个功能强大且有用的软件中。
哎呀,好多东西。 全栈Web开发人员需要学习的难题的最后一部分是DevOps。 我不是专家,这是一个很深的主题,但是部署网站的基础并不难理解。
到现在为止,您很有可能仅通过构建和部署网站就学到了很多东西。 您可能已经使用github和一些CI工具来部署您的网站,并使用Nginx来为其服务。
现在,您应该学习的主要内容是Docker 。 Docker是用于部署Web应用程序的行业标准,它使整个过程变得快速,优雅和便捷。
我个人是从本课程中学到Docker的, 对此我感到非常满意。 本课程简短,直截了当,并且易于理解。
希望本文对您有所帮助。 显然,不可能在一篇文章中涵盖与这个深层,复杂和快速发展的领域有关的所有内容,但是我相信上面的主题和资源将使您对前进的道路有清晰的认识,并且可以遵循有用的路线图。 至少,我希望几年前能收到这种文章。
您一定会从中学到更多,并深入研究最感兴趣的主题,但是我认为现在您的道路将更加简单明了,而不会造成混乱。
如果您有任何疑问,意见或正在寻求建议,请随时给我发邮件至[email protected]。
另外,如果您对有关Web开发,创业和建立在线业务的更多文章感兴趣,请继续订阅我的每周新闻 !
From: https://hackernoon.com/full-stack-web-development-the-complete-roadmap-9fe43ec0ba32