书名: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 开发:概述
该音频的主要就目的是使你熟悉一些可供 Web 开发人员使用的更主流的 Web 开发辅助工具。
“我并不想用海量技术淹没你。这些只是你拥有的选择……目前存在很多技术,当你听到类似 Nuxt 或 Gatsby 的声音时,我想让你知道它是什么。然后你能选择是否要自学。”
Brad 首先鼓励人们先问自己想做什么:是在一家产品公司组织工作,还是担任顾问,还是正式成为自由职业者,或是是构建自己的产品?
他关于自学什么的很多提议都归结为你的目标是什么,从这个角度出发来梳理科学知识框架。
首先,他提议自学所谓的“必需品”。
该截图和后续截图均来自 Brad 的音频。下划线表示他个人推荐的辅助工具
他指出了一件反直觉的事:你不须要花哨的计算机来进行 Web 开发,“这不像游戏引擎开发之类的东西,因此你能使用一台中档笔记本或是台式机,有些情况下甚至一台低档计算机就够用了”。
Brad 使用 MacOS,Windows 10 和 Linux 配置云服务和一些新闻媒体服务。
他非常喜欢 VS Code 的编辑器,并使用 Chrome 及其内置的 DevTools 进行基于浏览器的调试。另外,他认为 Firefox 也早已很成熟,并且是可行的替代方案。
他提议从标准 HTML 和 CSS 开始,并自学更新的 CSS 辅助工具,例如 Flexbox 和 Grid。
他认为在 2020 年自学响应式网页设计是必须的,“你创建的每两个正式项目应该在各式各样设备上运行良好”。
他提议你练习构建自己的模块化 CSS 组件,以便在整个项目中重用,而不是依赖于 Bootstrap 之类的 CSS 框架。
说到这,他认为你在为不同雇主开发项目时可能会遇到选择 CSS 框架的问题。
Bootstrap 目前仍然是最流行的 CSS 框架,但是也有其他一些被广泛使用的框架。
他特别提到了 Tailwind,这是我以前从未听说过的。Tailwind 与其他 CSS 框架略有不同,它着重于 “utility classes”,你能将其组合以完成设计样式。
意料之中的是,Brad 推荐你掌握 JavaScript。
这是一些你应该掌握的基础科学知识,Brad 有这些主轴的绝大部分音频,freeCodeCamp 专业课程中也包含其中绝大部分内容
在实践中自学
在 Brad 的整个指南中,他反复特别强调实用性的必要性。
是的,每件事都有最佳实践。但是在很多情况下,有一种足够好的方法能协助你更快地前进并完成更多的组织工作,而不会陷入辅助工具的泥潭。
他说过的最有趣(或许也是最和主流观点唱反调的)的一句话是:
“无需为小型站点自学 DevOps 和 AWS 以及大部份这些东西。托管站点或托管主机站点(如 InMotion 或 Hostgator)就能了,它能让你直接在浏览器中进行部署。不须要让事情变得太复杂。”
他认为,即便是在2020年,也千万别追逐热门,而应该使用你自己熟悉的辅助工具。
对于刚接触 Web 开发的人员,Brad 提议要首先能够正式成为基本的前端 Web 开发人员,这样你就能作为自由职业者为本地企业建立网站。
“潮人会说你绝对须要使用前端框架,我不赞成。假如你想在不使用前端框架的情况下在服务器上渲染模板,我认为这是完全能的,但是有很多很多的组织工作要求你具有使用类似 React 或 Vue 框架的技能。”
但是一旦你准备好应对前端框架,他提议你探索 React,Vue 和 Angular。“尝试大部份三个,找出最喜欢的两个”。
他还认可了 Svelte——它不是两个框架,而是两个编译器。但他表示,这可能太新了,无法在 2020 年尝试实用。
他讨论了服务器端渲染(SSR)的日益普及。基于文件系统的路由意味着你不必创建复杂的路由文件,相反,你能将文件放在任何你认为合适的目录中。
两种流行的服务器端渲染辅助工具是 Next.js(用于 React)和 Nuxt.js(用于 Vue)。
另两个新兴的趋势是静态网站渲染,他说,你不须要自学,但你应该知道。例如,Gatsby 站点非常快,不须要服务器。
后端开发辅助工具
Brad 的音频截图,其中包含每种语言最流行的框架
他在移动应用程序开发中的第二个选择是 React Native,假如你早已知道 React,就很容易上手。
然后 Brad 很好地解释了什么是渐进式 Web 应用(PWA)以及它们的一些好处。这是幻灯片,但我还是强烈提议你们看他的完整音频。然后他描述了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 音频已运营十年,期待下个十年!
非营利组织 freeCodeCamp.org 自 2014 年成立以来,以“协助人们免费自学编程”为使命,创建了大量免费的编程教程,包括交互式专业课程、音频专业课程、文章等。线下开发人员社区遍布 160 多个国家、2000 多个城市。我们正在协助全球数百万人自学编程,希望让世界上每个人都有机会赢得免费的优质的编程教育资源,正式成为开发人员或是运用编程去解决问题。
你也想正式成为 freeCodeCamp 社区的贡献者吗?欢迎了解招募丨freeCodeCamp 翻译计划。