为什么选择网络开发?
Web开发是一个不会很快消失的领域。网络正在迅速发展,许多人每天使用的设备会定期改进。
基于云的应用程序使我们能够在云中完成繁重的工作,并使用浏览器作为桥梁,将功能强大的后端服务器与功能较弱且功能较弱的前端连接起来。
现在是学习Web开发的最佳时机,如果你想学习一些东西。
Web开发不仅为您个人提供了大量机会,而且还可以端到端地编码和部署完整的项目,这些项目几乎可以被地球上的每个人使用。
由于大多数人都可以访问浏览器,因此每个人都距离您编码的网络应用只有一个URL。如果您将其与桌面应用程序或基于硬件的产品进行比较,您会发现与Web相比,它并不是那么可扩展。
既然我们已经确定了Web是目前最好的方式,那么让我们看看如何以最佳方式学习Web开发。
网络是巨大的 - 从小处着手,保持小规模
你可能已经看到了大量的JavaScript框架和库,如React,Angular,Vue,Ember,jQuery,XYZ等。
作为一名YouTuber发布Web开发内容,我遇到的一些非常常见的问题如下:
我应该学习X吗?
是 X 比 Y 更好吗?
Z 的范围是什么?
永远记住关于技术的两件事,特别是关于网络的事情:
您的技术堆栈几乎总是无关紧要的。如果你的语言/框架足够好,你每次都会赢。
你永远不需要学习一切。从不。你可以成为所有行业的杰克,但要确保你是一个交易的主人。
为了总结本节,您需要在开始时考虑非常小的问题。很容易被刚刚发布的那个热门框架冲昏头脑。只是不要试图通过放弃旧技术和适应新技术而不进行适当的研究来领先。
从 HTML 和 CSS 开始
这一点我怎么强调也不过分。看到很多人问我关于他们的 React 项目的问题,而答案在于基本的 HTML 或 CSS,这让我很痛苦。
JavaScript最初只是一种浏览器脚本语言。虽然它现在远不止于此,但它并没有改变这样一个事实,即在网络上它补充了HTML和CSS。
随着Web标准的进步,仅在CSS中就可以实现很多目标。对于很多事情,JavaScript甚至不是必需的。
动画?没问题。拖放?HTML可以处理这个问题。布局?查看Flexbox或Grid CSS API!
关于HTML和CSS,你可以学到很多东西!不要只是匆匆忙忙地进入JavaScript,因为这个块上所有很酷的孩子都喜欢Angular。这些库和框架不会消失。慢慢来。
走得更远还是走得更深?
当你学习Web开发时,有两种方法 - 广泛或深入。
走得更远意味着你们开始一起学习很多东西。这可能适用于某些人,但不适用于其他人。您可能会被教程,练习,视频和博客淹没自己,然后最终放弃。
深入意味着你开始学习一件事,并尝试尽可能多地学习它。这有其自身的一系列优点和缺点。你可能会感到无聊,或者因为看不到结果而放弃。
那么解决方案是什么呢?令人惊讶的是,答案是两者都不做。选择一个像HTML / CSS / JavaScript这样的小型技术堆栈,并适度深入地研究这三者。这有几个优点:
你不会感到无聊,因为这三者的目的相对不同,你写它们的方式也不同。
您可以将这三者混合在一起,并快速创建和查看有意义的东西,而无需花费数月的努力(这通常是其他语言(如C / C++)所必需的)。这将使您有动力继续前进。
不要选择 React、Angular 或 Vue。
当人们开始使用JavaScript时,人们会有一种冲动,比如React,像Material UI这样的UI系统,然后潜入构建很棒的东西。#p#分页标题#e#
不幸的是,这只会导致自己搬起石头砸自己的脚。如果你不了解JavaScript的基础知识,你永远不能使用这些框架创建中级到高级的项目。应用 JavaScript 需要一些时间。
请注意,我在前一句中使用了“应用”而不是“学习”这个词。学习一些东西和应用你所学到的东西之间有很大的区别。
使用 HTML/CSS/JavaScript 创建一个小型但有效的项目。当你这样做时,再创建一个,然后创建另一个项目。
在此过程中的每一步,都要不断增加项目的复杂性和期望,直到您的代码库变得难以管理。在这一点上,你已经到达了我喜欢称之为卓越学习的边界。
你看,框架的存在是为了减轻重复性工作。它们不存在,所以你忽略了引擎盖下真正发生的事情,并依赖于它都是魔法的事实。
当你第一次为项目选择像 React 或 Angular 这样的框架时,你应该确信你可以在没有 React 或 Angular 的情况下创建该项目。
一个行业的大师
现在,当你擅长HTML / CSS / JavaScript时,是时候转向行业标准了。事实是,无论你是一个多么优秀的JavaScript开发人员,你经常需要使用像React这样的现代框架 - 仅仅凭借你的JavaScript知识,你无法立即掌握它。
学习和理解术语、概念以及该框架在后台的工作原理需要时间。因此,拿起一个框架并掌握它。
你可能会问,如何?答案很简单 - 这取决于你。在所有主要框架(Angular,Vue和React)中创建一个简单的项目,看看哪一个与你共鸣最大。选择一个,不要回头
然后使用该框架创建所有项目。目标是做一些你还不知道该怎么做的事情。这是推动自己走出舒适区并学习新事物的最佳方式。
但不要忘记其他人
同样重要的是要关注其他候选人。这不仅涉及您“最喜欢的”框架的直接竞争对手,还涉及一些有价值的Web开发工具。
您不必“掌握”这些其他工具,因为很多时候它们只需要一次性设置并定期维护。但是,将它们保留在您的技能清单上总是很好的。
这可能包括几件事 - 例如使用Jest进行单元测试,使用Cypress,Webpack,Babel或Parcel进行端到端测试,一些DevOps,Linux shell脚本,服务器部署等。
你总是可以快速学习这些技能的基础知识,因为它们已经存在了很长时间,所以他们有很多有用的材料。
相信我,这是一种有趣的感觉 - 但是一旦你开发了许多项目并使用你最喜欢的堆栈编写了很多代码,你就会开始觉得你可以做任何事情。在这一点上,你可以找到一份工作,然后继续做同样的事情 - 这完全没问题。或者,你可以通过屋顶升级你的技能,然后继续前进。
网络。是的,浩瀚无垠。
因此,如果你完成了HTML/CSS/JavaScript/React/Angular/Vue,请转到服务器。了解服务器部署、NGiNX、HAProxy、负载平衡、设置云基础架构、防火墙和自动缩放。
也完成了吗?转到 WebAssembly,这是 Web 的下一次迭代的语言。
完成 WebAssembly 学习?呃,我不知道。也许可以转到其他编程领域,或者烹饪?:)
结论
在当今世界,您很容易不重复我在学习Web开发时所犯的错误。因为所有这些错误现在都是公开的,供大家阅读!