为什么选择网络开发?
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或网格CSS API!
你可以学到很多关于HTML和CSS的知识!不要只冲JavaScript,因为这个街区的酷小孩都喜欢Angular。这些库和框架不会消失。慢慢来。
更进一步还是更深入?
当你学习Web开发的时候,有两种方式——广泛的或者深入的。
更进一步意味着你们开始一起学习很多东西。这可能适用于某些人,但不适用于其他人。你可能会被教程、练习、视频和博客淹没,然后最终放弃。
深入是指你开始学习一件事,并且尽可能多的去学。这自有一系列的利弊。你可能会因为看不到结果而感到厌烦或者放弃。
那么解决办法是什么呢?令人惊讶的是,答案是两者都不做。选择HTML/CSS/JavaScript这样的小技术栈,深入研究这三个。这有几个优点:
你不会觉得无聊,因为这三者的目的相对不同,写的方式也不同。
你可以将三者混合在一起,快速创建和查看有意义的东西,而无需花费数月的努力(这对于其他语言来说通常是必要的,比如C/C++)。这会给你前进的动力。
不要选择反应,角度或Vue。
当人们开始使用JavaScript时,他们会有一种冲动,比如React,一个类似Material UI的UI系统,然后溜进去构建伟大的东西。
可惜,这样只会搬起石头砸自己的脚。如果你不知道JavaScript的基础知识,你永远不能使用这些框架来创建中级到高级的项目。应用JavaScript需要一些时间。
请注意,我在前面的句子中使用了“应用”一词,而不是“学习”。学东西和学以致用是有很大区别的。
使用HTML/CSS/JavaScript创建一个小而有效的项目。当您这样做时,创建另一个,然后创建另一个项目。
在这个过程的每一步,你都应该增加项目的复杂性和期望值,直到你的代码变得难以管理。至此,你已经达到了我喜欢称之为优秀学习的边界。
你看,框架的存在就是为了减少重复性的工作。他们不存在,所以你忽略了引擎盖下真正发生的事情,并依赖于这一切都是魔法的事实。
当您第一次为项目选择React或Angular这样的框架时,您应该确保您可以在没有React或Angular的情况下创建项目。
一个行业的大师
现在,当你擅长HTML/CSS/JavaScript时,是时候求助于行业标准了。事实是,无论你是一名多么优秀的JavaScript开发人员,你经常需要使用React这样的现代框架——仅凭你对JavaScript的了解,你不可能立刻掌握它。
学习和理解术语、概念以及框架如何在后台工作需要时间。所以拿起一个框架,掌握它。
你可能会问,怎么样?答案很简单——这取决于你。在所有主要框架(Angular、Vue和React)中创建一个简单的项目,看看哪个更能引起你的共鸣。选择一个,不要回头。
然后使用这个框架创建所有项目。目标是做一些你还不知道怎么做的事情。这是一种更好的方式,让你走出自己的舒适区,学习新的东西。
但是别忘了别人。
关注其他候选人也很重要。这不仅涉及到你“喜欢”的框架的直接竞争对手,还涉及到一些有价值的Web开发工具。
你不必“掌握”其他这些工具,因为很多时候它们只需要设置一次并定期维护。然而,将它们保留在你的技能列表中总是好的。
这可能包括几件事——比如用Jest进行单元测试,用Cypress、Webpack、Babel或package进行端到端测试,一些DevOps、Linux shell脚本、服务器部署等。
你总能很快学会这些技能的基础,因为它们已经存在很久了,所以它们有很多有用的资料。
使受地狱之苦
相信我,这是一种很有意思的感觉——但是一旦你开发了很多项目,用自己喜欢的栈写了很多代码,你就会开始觉得自己无所不能。此时,你可以找一份工作,继续做同样的事情——这完全没有问题。或者,你可以通过屋顶升级技能,然后继续前进。
网络。是的,它很大。
所以,如果你完成了HTML/CSS/JavaScript/React/Angular/Vue,请去服务器。了解服务器部署、NGiNX、HAProxy、负载平衡、设置云基础设施、防火墙和自动扩展。
是不是完了,也去WebAssembly,这是Web下一次迭代的语言。
完成WebAssembly学习?呃,我不知道。也许可以转到其他编程领域,或者烹饪?:)
结论
在当今世界,你很容易不重复我在学习Web开发时犯的错误。因为所有这些错误现在都公开给大家看了!
- 2024-04-22 中专100多分没有五年专全日制福州
- 2024-04-22 厦门职高学费多少
- 2024-04-22 华天职业技术学校
- 2024-04-22 宁德古田技校
- 2024-04-22 厦门市有哪些职业技术学校