2020 年 Web 开发者学习路线

2023-05-27 0 462

2020 年 Web 开发者学习路线

书名:https://www.freecodecamp.org/news/web-development-2020/

译者:Quincy Larson,freeCodeCamp 创办人

翻译者:浩瀚渐落晓星沉

校对者:Miya

提示信息:点选文

那时,我最喜欢的同学众所周知,Brad Traversy,正式发布了两个音频,主轴是在 2020 年,要正式成为一位 Web 开发人员须要自学什么样科学知识。

Brad 主要就特别强调了一点儿——也是我时常特别强调的——那是:自学的这时候千万别深感惧怕或是不知所措。

我想告诫听众:freeCodeCamp 的专业课程囊括了 Brad 所如是说的绝大部分辅助工具,早已协助 40,000 数名学生赢得开发人员组织工作。假如你犹疑不决,大能著眼在 freeCodeCamp 自学。

Brad 过滤器掉你在SNS新闻媒体上母汤氏的各式各样炒宣传品,得出脚踏实地的提议。他的提议是切实有效的,他所提议自学的大部份科学知识我基本上都赞成。

为了方便起见,我在下面总结了他的一些主要就见解。同时,我提议你在 YouTube 观看他的完整音频,链接地址:https://youtu.be/0pThnRneDjw。除了本文所总结的内容之外,他还在音频中详述了许多细节。这是两个时长 73 分钟的音频。

2020 年 Web 开发者学习路线

2020 年的 Web 开发:概述

音频的主要就目的是使你熟悉一些可供 Web 开发人员使用的更主流的 Web 开发辅助工具。

“我并不想用海量技术淹没你。这些只是你拥有的选择……目前存在很多技术,当你听到类似 Nuxt 或 Gatsby 的声音时,我想让你知道它是什么。然后你能选择是否要自学。

Brad 首先鼓励人们先问自己想做什么:是在一家产品公司组织工作,还是担任顾问,还是正式成为自由职业者,或是是构建自己的产品?

他关于自学什么的很多提议都归结为你的目标是什么,从这个角度出发来梳理科学知识框架。

首先,他提议自学所谓的“必需品”。

2020 年 Web 开发者学习路线该截图和后续截图均来自 Brad 的音频。下划线表示他个人推荐的辅助工具

他指出了一件反直觉的事:你不须要花哨的计算机来进行 Web 开发,“这不像游戏引擎开发之类的东西,因此你能使用一台中档笔记本或是台式机,有些情况下甚至一台低档计算机就够用了”。

Brad 使用 MacOS,Windows 10 和 Linux 配置云服务和一些新闻媒体服务。

他非常喜欢 VS Code 的编辑器,并使用 Chrome 及其内置的 DevTools 进行基于浏览器的调试。另外,他认为 Firefox 也早已很成熟,并且是可行的替代方案。

他提议从标准 HTML 和 CSS 开始,并自学更新的 CSS 辅助工具,例如 Flexbox 和 Grid。

他认为在 2020 年自学响应式网页设计是必须的,“你创建的每两个正式项目应该在各式各样设备上运行良好”。

他提议你练习构建自己的模块化 CSS 组件,以便在整个项目中重用,而不是依赖于 Bootstrap 之类的 CSS 框架。

说到这,他认为你在为不同雇主开发项目时可能会遇到选择 CSS 框架的问题。

2020 年 Web 开发者学习路线Bootstrap 目前仍然是最流行的 CSS 框架,但是也有其他一些被广泛使用的框架。

他特别提到了 Tailwind,这是我以前从未听说过的。Tailwind 与其他 CSS 框架略有不同,它着重于 “utility classes”,你能将其组合以完成设计样式。

意料之中的是,Brad 推荐你掌握 JavaScript。

2020 年 Web 开发者学习路线这是一些你应该掌握的基础科学知识,Brad 有这些主轴的绝大部分音频,freeCodeCamp 专业课程中也包含其中绝大部分内容

在实践中自学

在 Brad 的整个指南中,他反复特别强调实用性的必要性。

是的,每件事都有最佳实践。但是在很多情况下,有一种足够好的方法能协助你更快地前进并完成更多的组织工作,而不会陷入辅助工具的泥潭。

他说过的最有趣(或许也是最和主流观点唱反调的)的一句话是:

“无需为小型站点自学 DevOps 和 AWS 以及大部份这些东西。托管站点或托管主机站点(如 InMotion 或 Hostgator)就能了,它能让你直接在浏览器中进行部署。不须要让事情变得太复杂。

他认为,即便是在2020年,也千万别追逐热门,而应该使用你自己熟悉的辅助工具。

2020 年 Web 开发者学习路线

对于刚接触 Web 开发的人员,Brad 提议要首先能够正式成为基本的前端 Web 开发人员,这样你就能作为自由职业者为本地企业建立网站。

“潮人会说你绝对须要使用前端框架,我不赞成。假如你想在不使用前端框架的情况下在服务器上渲染模板,我认为这是完全能的,但是有很多很多的组织工作要求你具有使用类似 React 或 Vue 框架的技能。

但是一旦你准备好应对前端框架,他提议你探索 React,Vue 和 Angular。“尝试大部份三个,找出最喜欢的两个”。

他还认可了 Svelte——它不是两个框架,而是两个编译器。但他表示,这可能太新了,无法在 2020 年尝试实用。

他讨论了服务器端渲染(SSR)的日益普及。基于文件系统的路由意味着你不必创建复杂的路由文件,相反,你能将文件放在任何你认为合适的目录中。

两种流行的服务器端渲染辅助工具是 Next.js(用于 React)和 Nuxt.js(用于 Vue)。

另两个新兴的趋势是静态网站渲染,他说,你不须要自学,但你应该知道。例如,Gatsby 站点非常快,不须要服务器。

后端开发辅助工具

2020 年 Web 开发者学习路线Brad 的音频截图,其中包含每种语言最流行的框架

对于服务器端开发,Brad 更喜欢 Node.js 的速度,因为它的速度快,并且他能在前端和后端都使用 JavaScript。对于服务器端开发框架,他提议自学 Express,因为它是最流行的,而且“它给了你很多自由,能按照自己的方式构建东西”。他还在一些项目中使用 Python,并推荐使用它。“Python 有两个很棒的框架,Django 是两个大型的,功能齐全的框架,Flask 更加简约。它提供了你所需的内容,但你能做出其余的决定。老实说,我对这两个框架没有偏好,我两个都喜欢,将它们用于不同需求。他快速简要地为 PHP 辩护:“很多人都讨厌 PHP,这很不幸,因为 PHP 能是一门很棒的语言,它很实用,并且能在任何地方轻松部署。PHP 非常适合须要快速出手的自由职业者。假如你打算在一家大公司组织工作,PHP 可能不是最佳选择,但是假如你要自由职业和构建个人项目,PHP 可能是个不错的选择。抨击 PHP 现在是很流行的行为。PHP 是我学到的第一门语言,我仍然非常喜欢它……假如你查看 Laravel 代码,它非常优雅。”Brad 还快速如是说了一下数据库,并推荐了长期受欢迎的 PostgreSQL。2020 年 Web 开发者学习路线其他可能会持续存在的辅助工具GraphQL 是 REST API 的替代品。在 Brad 的频道和 freeCodeCamp 的频道上都有一些专业课程如是说 GraphQL。但是他说,“GraphQL 现在还不是你必须自学的东西,但它早已足够流行了,我认为它会一直存在下去。这不仅仅是一种趋势。Brad 还讨论了内容管理系统(CMS)以及它如何演变成新的“无头”CMS,你能将它用作后端并编写自己的前端。“CMS 对于自由职业者来说非常方便,他们的客户希望能够登录并创建他们的博客和类似的东西。很多人抨击 WordPress,但在互联网上有很大比例的网站是由 WordPress 运行的,它仍然很受欢迎。对于 Web 服务器,他更喜欢 NGINX 而不是 Apache,因为“它看起来没那么复杂”。我们在 freeCodeCamp 广泛使用 NGINX,我倾向于同意。Brad 还解释了虚拟化的组织工作原理,并讨论了虚拟化如何通过跨多台计算机标准化环境来简化更复杂的项目。但是他告诫千万别尝试虚拟化大部份内容:“Docker 确实对团队非常有用。我不喜欢别人说你应该始终使用 Docker。这只是首选项。假如你只想运行本地 LAMP 服务器,那没有什么错。对自学类似 Docker 的东西千万别感到有压力。他补充道,“我知道很多书呆子只想把事情复杂化,我讨厌这样。我列出了大部份这些东西,并不意味着我把它强加给你”。这一点儿我自己没有足够地特别强调。他还快速简要地指出,大多数大公司都有专门的 DevOps 团队(也称为“站点可靠性工程师”),他们能为你做很多事情。掌握一些更彰显专业度的技能是很棒的事情假如你想尝试移动应用程序的开发,Brad 强烈提议使用 Flutter 框架。它使用 Dart,这是一种比较晦涩的语言。他将 Dart 描述为介于 Java 和 JavaScript 之间的某个地方,并说假如你知道这两种语言中的任何一种,都应该能使用它。2020 年 Web 开发者学习路线

在移动应用程序开发中的第二个选择是 React Native,假如你早已知道 React,就很容易上手。

然后 Brad 很好地解释了什么是渐进式 Web 应用(PWA)以及它们的一些好处。这是幻灯片,但我还是强烈提议你们看他的完整音频。

2020 年 Web 开发者学习路线

然后,他谈到了 Electron,它使你能使用 JavaScript 构建桌面应用程序。他最初表示怀疑,但提到他最喜欢的一些桌面应用程序(例如 VS Code 和 Discord)现在使用 Electron 构建。他提到了 JAMstack(客户端 JavaScript,可重用 API 和预构建标记 Markup)和 serverless 架构。这些都是更高级的主轴,他的频道和 freeCodeCamp 的 YouTube 频道都提供了音频教程。

后他描述了2020年的大趋势。

机器自学和 WebAssembly

尽管其他大部份人都在谈论机器自学,但是这不意味着你应该放弃大部份东西来自学它。这是他的整个音频分享的基调。

是的,你也能使用 JavaScript 进行机器自学。

“Python 是机器自学的首选语言。不过,假如你也能使用 JavaScript 里的 TensorFlow.js 和 Brain.js 来创建神经网络并做一些非常酷的事情。

从他谈论 WebAssembly 的方式能明显看出,他对此深感非常兴奋。

“WebAssembly 仍处于早期阶段,但我认为我们今年会看到更多。传统上,我们在网页上使用 JavaScript 来操纵 DOM  并运行计算。JavaScript 在速度方面有局限性。一种语言就像 C 或 C++ 比 JavaScript  快得多。因此,WebAssembly 是一种高效的低级字节代码,能由浏览器执行,并且速度非常快。它能由 C,C++ 和 Rust  等语言生成。

Rust 是 WebAssembly 能使用的语言众所周知(除了 C 和 C++),它比 C 和 C++ 更容易自学和使用。

但是须要特别注意的是,自学 WebAssembly,你仍须要自学 JavaScript。

“你基本上能将 JavaScript 视为老板,它能告诉 WebAssembly 该怎么做。因此,它使我们能够在我们的 Web 应用程序中使用非常快速的低级语言(例如 C++),这为我们提供了更多功能——例如下一代音频游戏和音频编辑辅助工具,就能在浏览器中找到,这是 JavaScript 所无法想象的。

最后他说:“你学得越多,再自学更多就变得越容易,将大部份这些技术融合在一起也就越容易。请千万别原地踌躇,一次迈出一步,做一些研究,弄清楚你想做什么。

我要再次感谢 Brad Traversy 为我们分享这段全面的音频如是说。

人们总是问我“假如我想正式成为一位web开发人员,我应该自学什么?”

我的回答是“把freeCodeCamp作为你的核心专业课程,然后扩展到其他自学资源。”

我很高兴地说,Brad 的 Traversy Media YouTube 频道是我最推荐的其他资源众所周知。Brad,假如你正在读这篇文章,恭喜你的 YouTube 音频已运营十年,期待下个十年!

2020 年 Web 开发者学习路线

非营利组织 freeCodeCamp.org 自 2014 年成立以来,以“协助人们免费自学编程”为使命,创建了大量免费的编程教程,包括交互式专业课程、音频专业课程、文章等。线下开发人员社区遍布 160 多个国家、2000 多个城市。我们正在协助全球数百万人自学编程,希望让世界上每个人都有机会赢得免费的优质的编程教育资源,正式成为开发人员或是运用编程去解决问题。

你也想正式成为 freeCodeCamp 社区的贡献者吗?欢迎了解招募丨freeCodeCamp 翻译计划

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务