我如何开始我的编程生涯,我应该先学习前端还是后端开发?是否可以尝试从前端切换到后端?
我们在尝试做出决定时经常会遇到类似的反应:“当然,从前端开始,它很容易学习。后端比较复杂。首先——你需要开始研究计算机硬件部分:内存、CPU……,然后,为什么不,研究网络,继续研究算法,学习数据库的基础知识,毕竟这些都以某种方式理解任何 C 语言或 Java 。”
浦牛逼它概括地说,在被后端开发“使命”只给予那些软件工程师谁拥有多年的辛勤工作经验。

经验丰富的软件工程师无法区分后端和前端的定义。

这个问题需要从另一面考虑。哪个方向对你来说更有趣。一些开发人员对后端感兴趣,一些对前端感兴趣,为什么不,有时对双方都感兴趣。最后,无论在哪一方面,您都需要掌握一套基础知识库,才能成为一名经验丰富的开发人员。

让我们更详细地研究 JavaScript,看看这是否是开始您的职业生涯的最简单方法:
OOP:我们经常在JavaScript中听到弱OOP,但事实并非如此,问题不在于它是好是坏,而是工具包之间存在差异。要使用任何 OOP 后端语言,您必须熟悉经典的 OOP 概念,并且为了在 JavaScript 中使用 OOP,您必须了解经典模型和原型模型。

虽然这种混淆通常被认为是 JavaScript 的弱点之一,但原型继承模型本身实际上比经典模型更强大。例如,在原型模型之上构建经典模型相当简单。~ MDN 网络文档

JavaScript 很好地实现了多种编程范式

JavaScript 很好地实现了多种编程范式,具有下面优势:

  • JavaScript 是声明性的。
  • JavaScript 是必不可少的。
  • JavaScript 是事件驱动的。
  • JavaScript 是函数式的。
  • JavaScript 是面向对象的。
  • JavaScript 是基于原型的。
  • JavaScript 是惊人的。

JavaScript 允许您以不同的范式编写代码或将它们组合成多范式方法。
您可以找到在命令式编程方面做得更好的语言和在函数式编程方面做得更好的其他语言,但是很难找到能够同时做到这两点的编程语言。

JavaScript 是动态类型语言。但是,这并不意味着变量不绑定到特定的数据类型。
动态类型语言在运行项目时检查类型,而静态类型语言在运行项目之前检查类型。
您可以使用适当的工具使 JavaScript 静态类型化,并在构建之前检查代码并查找类型错误。
各种浏览器和各种设备/功能:用户可以使用任何设备(不同的操作系统,不同的分辨率,不同的资源)访问您的网页,使用任何浏览器,可以按键盘键,可以点击任何他/她想要的东西,可以滚动,可以旋转,可以放大/缩小,可以尝试清除缓存然后打开您的页面,可以使用浏览器扩展,…。
而前端开发者应该考虑这些无限的场景。
打开你的文本编辑器并编写 console.log(‘Hello World’),就这样,你的 HelloWorld 应用程序已经准备好了:是的,只有 HTML/CSS 和 JavaScript,

你认为这就是前端的简单吗?

多年前,事情比现在简单得多。有一个网页,显示后端提供的静态数据。然而,如今应用程序的很多逻辑和复杂性都转移到了前端,你需要使用 JavaScript 的高级特性来制作复杂的应用程序。
你需要掌握什么来创建应用程序,例如,使用 React JS 库:

  • React JS
  • TypeScript
  • React-Router
  • Redux (or any other state container)
  • Redux-Form (or any other form library)
  • Redux-Saga (middleware)
  • Styled-components
  • Webpack
  • Next.js (for SSR)
  • npm/yarn
  • Babel
  • Axios (HTTP Client)
  • RxJS
  • ESlint, Prettier
  • Jest, Enzyme (for unit testing)

下面除了技术之外需要掌握的下面能力

  • 设计模式
  • 干净的代码
  • 异步编程
  • 频繁更改代码的能力——设计的更改直接影响应用程序的 UX 逻辑,并经常触发重构代码以适应新设计更改的需求

总结

综上所述,JavaScript 在性质上完全不同,需要一套不同于其他编程语言的独特技能。然而,这并不意味着这是更简单或更容易的方式开始你的职业道路。
在初学者层面,双方似乎都更容易,但当你想要做一些大、复杂、长期和有趣的事情时,双方都需要付出很多努力,并创造独特的挑战。
最后,您可能会发现它们既简单又困难,具体取决于您如何开发应用程序、使用哪些工具、能够执行哪些工作以及您的要求是什么。

更多推荐

开始编程职业生涯我应该先学习前端还是后端开发?