原文链接

可能当咱们完结本文时,一个新的 Javascript 框架曾经在某处启动了。但这的确不在咱们的管制范畴内。因而,咱们应该简略地持续咱们所领有的。至多,因为免责申明,咱们能够确定咱们不是在创造新框架。

曾几何时,编写无效的前端代码意味着您必须很好地了解 HTML、CSS 和 JavaScript 如何交融在一起来创立网页。好吧,侥幸的是,即便在明天,这也简直是正确的。然而,在过来的十年中,Javascript 畛域呈现了爆炸式增长。因为这个起因,开发人员始终在挠头,只是弄清楚他们应该晓得什么能力构建无效的 Web 应用程序。

在这篇文章中,咱们将尝试解开古代 Javascript 景观的一些方面。如果您想成为一名业余的前端开发人员,咱们还将钻研您可能应该学习的内容。但在咱们这样做之前,让咱们从头开始。

JavaScript 是如何工作的?

当客户端或浏览器拜访 HTML 页面时,服务器会发回 HTML 标记。 浏览器接管它并解释标记以结构 DOM 或文档对象模型。 JavaScript 具备与 DOM 交互、批改和使其具备交互性的能力。 通常,JavaScript 应用脚本标签蕴含在您的 DOM 中。

当初,问题是 JavaScript 执行阻塞了 DOM。 这意味着用户无奈与网页进行太多交互。 换句话说,JavaScript 执行的工夫越长,您的 Web 应用程序的响应速度就越慢。 这就是 AJAX 或异步 JavaScript 和 XML 的用武之地。大多数闪亮的新 JavaScript 框架也用它来。

为什么要应用框架?

齐全能够在不应用任何框架的状况下构建 Web 应用程序。但古代 JavaScript 幅员倒退如此之快并非没有起因。在过来的十年中,很显著,应用纯 JavaScript 编写简单的应用程序极其简单。

古代 JavaScript 框架的指标是缩小构建交互式和用户敌对的 Web 应用程序所需的繁琐和反复工作量。能够说,无论语言如何,大多数框架都试图做同样的事件。然而,其余编程语言可能没有那么多框架。另一方面,古代 JavaScript 畛域实际上有数百个框架和库。这些库或框架中的每一个都试图解决一组特定的问题。

然而,大多数次要框架都试图解决一个常见的用例:如何构建可能反对简单用户交互并在前端或客户端管理应用程序状态和业务逻辑的单页 Web 应用程序。

简而言之,单页应用程序或 SPA 是能够在客户端上运行而无需一直从新加载页面的 Web 应用程序。

Steps to Conquer the Modern JavaScript Landscape

让咱们假如您是一个残缺的老手。 你想开始学习前端开发并有一天成为一名专业人士。

你必须学习很多! 没有其余办法能够表白它。 当然,这是一段漫长而波折的旅程。

然而,为了简略起见,我将旅程分为几个阶段。 这些阶段能够帮忙您把握古代 JavaScript 环境。

第一阶段

学习 HTML

无论您应用什么框架,HTML 和 CSS 简直总是存在。 所以不要试图绕过它们。 您应该学习如何创立 HTML 页面,当初将页面划分为多个局部。 专一于适当的构造,临时不要放心页面丑化局部。

学习 CSS

CSS 或层叠样式表为俊俏的 HTML 页面削减了美感。 尽可能多地学习。 它很大,有很多抉择,你总能找到新的货色。 如果你想要一个列表,那么学习 CSS 网格布局、Flexbox、媒体查问和响应式 CSS。 这些货色将帮忙您进行认真的 Web 开发。 另外,我倡议至多学习一个 CSS 框架。 如果您不确定要抉择什么,我会举荐 Bootstrap。 它将帮忙您应用较少的 CSS 和一些好的设计模式构建业余的 Web 应用程序。

学习 JavaScript 根底

思考到一旦开始应用框架就不会编写一般的 JavaScript,这听起来可能有悖常理。 然而,学习基础知识将使您当前受益匪浅。 此时,您可能会遇到一种叫做 jQuery 的货色。

然而冒着疏远社区中某些开发人员的危险,我建议您只有在有大量工夫的状况下才学习它。 jQuery(一个使 DOM 操作更容易的库)已经统治着 JavaScript 世界。 然而,当初它在新我的项目中的使用率并不高,对于您的工夫来说可能没有那么多的附加值。

当初,无论您未来做什么,第 1 阶段都将雷同。 如果你走到这一步,你应该为胜利而拍拍本人的背,并检查你是否想持续。

第二阶段

学习 git 根底

当初,尽管这不是学习 JavaScript 的强制性要求,但这将帮忙您向其余开发人员和 GitHub 等网站上可用的社区学习。 您还能够将您的源代码放在 GitHub 上供所有人查看并围绕您本人的工作建设一个社区。

学习一个包管理器

任何庄重的古代 JavaScript 框架都至多须要理解一些包管理器。 包管理器只是管理应用程序将应用的各种依赖项的一种形式。 可怜的是,一般的 JavaScript 并没有很多库,然而因为开发人员公布了各种库和包,整个生态系统失去了极大的倒退。 包管理器帮忙咱们利用所有这些代码,这样咱们就不用编写曾经存在的货色。

如果你只有工夫学习一个,我会举荐 npm 或节点包管理器。 npm 是最大和应用最宽泛的包管理器; 你能够在这里摸索。

另一种抉择是 Yarn——如果你理解一个包管理器,你就不会发现学习其余包管理器十分艰难。

做出抉择 - 学习哪一个 JavaScript 框架?

有很多,但为了便于探讨,我将列出三个主要的。没有特定的程序,它们是 React、Angular 和 Vue。

React 是 Facebook 构建的 JavaScript 库。该库可用于创立交互式 UI。简略地基于数字,React 是当今开发人员中最受欢迎的,因为 React 非常容易学习。然而,如果您开始将 Redux 之类的高级货色混入其中,则很难把握。

Angular 是一个 JavaScript 框架(或平台),可用于构建 Web 应用程序。如果将 Angular 与 React 进行比拟,就能够说它是一只 1000 磅的大猩猩。对于老手来说,这可能会让人手足无措,然而一旦您通过了最后的学习曲线,您就会发现自己处于平流层中,感到头晕目眩。顺便说一下,Angular 是由 Google 构建和保护的,因而您能够判断其品质。

Vue 是另一个风行的框架,它显然试图在 React 和 Angular 之间找到中间线。除非您有一个只能通过 Vue 解决的十分具体的需要,否则我建议您应用 Angular 或 React。

话虽如此,我通常不喜爱反对一个框架而不是另一个。一名优良的开发人员能够依据问题抉择框架或工具集。 React 和 Angular 都能够做任何事件,但它们在某些事件上做得比其余事件好。例如,Angular 中的表单解决十分杰出,对于在填写内容方面具备大量用户交互的企业应用程序来说十分有用。另一方面,如果你有一个十分动静的 DOM 并且想要基于用户交互进行大量操作,React 是十分棒的。

在我看来,我倡议如果您有工夫,您应该尝试同时学习两者。它会关上你的视线,让你成为更好的前端开发人员。

第三阶段

如果你曾经达到了这一点,你就曾经走得很远了。你应该为本人感到骄傲。

然而,旅程并没有完结。

正如咱们之前谈到的,古代 JavaScript 环境正在迅速倒退。如果 Web 开发人员想放弃相关性,他们也应该这样做。甚至框架也在迅速倒退。谷歌每年公布两次具备新性能的新 Angular 版本。 React 生态系统正在迅速扩大。还有其余框架正在呈现,谁晓得其中一些是否会变得更加风行。

所以应该持续学习。您能够查看的一些内容是:

  • 渐进式 Web 应用程序使 Web 应用程序像原生挪动应用程序一样工作。
  • 工具框架,如 Webpack 和 Babel。
  • ES6、ES7 语法
  • 各种测试框架,如 Jest、Karma 和 Mocha。
  • 如果您对应用 JavaScript 构建挪动应用程序感兴趣,您能够钻研 React Native、Flutter 等。
  • 应用 SPA 框架的服务器端渲染。

祝您学习欢快!