为什么我们需要 JavaScript 库(或框架)

举报
搞前端的半夏 发表于 2022/06/30 22:33:56 2022/06/30
【摘要】 随着JavaScript的火热,围绕着围绕 JavaScript 的框架和库的生态系统正在快速发展。我们正面临 JavaScript 疲劳。建立一个项目并使其运行所需的工具非常多。我们可以只用三个文件构建一个简单的前端应用程序:HTML、CSS 和 JavaScript。但是,如果我们继续构建具有更多功能的应用程序,可能会面临下面的问题:文件随之增长,导致代码无法维护,他们之间有很多重复的代...

随着JavaScript的火热,围绕着围绕 JavaScript 的框架和库的生态系统正在快速发展。我们正面临 JavaScript 疲劳。建立一个项目并使其运行所需的工具非常多。

我们可以只用三个文件构建一个简单的前端应用程序:HTML、CSS 和 JavaScript。但是,如果我们继续构建具有更多功能的应用程序,可能会面临下面的问题:

  1. 文件随之增长,导致代码无法维护,他们之间有很多重复的代码。

  2. 我们将事件侦听器绑定到 UI 元素(输入字段、按钮等),然后编写回调函数来更新相同元素的值。

  3. 在进行任何更改之前,我们会担心它会如何影响应用程序。

  4. 向其他开发人员解释代码需要几个小时

这些问题随着时间的推移而加深,即使我们计划这些问题,管理这些问题的复杂性也会随着时间的推移而增加,因为你可能永远不知道我们的应用程序将如何发展。

响应式编程的两个最重要的思想是系统应该是事件驱动的并响应状态变化。

DOM 的用户界面组件有一个内部状态,更新浏览器并不像在发生变化时重新生成 DOM 那样简单。

DOM 的状态性是我们需要用户界面库和解决方案的原因,例如键/值观察或脏检查(Angular 使用)。

UI 库处理监视数据模型的更改并在这些更改发生时更新 DOM 的正确部分,或者监视 DOM 中的更改并在发生更改时更新数据模型。这种类型的监视和更新称为双向绑定,它通常会使用户界面的工作变得非常复杂和混乱。

输入、库和框架每个框架都提供了自己的设计理念,但它们都试图解决我们在开发周期中遇到的相同普遍问题:

  • 易于维护代码,易于阅读和更改代码库的新开发人员。
  • 能够重用组件来创建页面或功能。
  • 易于操作 DOM,没有任何副作用
  • 将 UI 标准化以保持一致和直观,这意味着为排版、颜色、填充、边距等定义了值。

框架和库提供了一个完整的工具集,有助于塑造和组织我们的应用程序。它从你安装它们的那一刻起就提供了一个标准,指导你以特定的方式思考和编码。我们不需要花时间与我们的团队一起制定标准;我们可以按照框架中的事情是如何完成的。

理想情况下,我们希望我们的 Web 应用程序作为一个独立的应用程序,从后端请求数据,在需要时在客户端处理它,并在浏览器上显示它。这里的基本原则是“关注点分离”。我们应用程序的每个部分应如何独立运行并具有明确定义的界面以与他人进行通信。

结论

框架和库是强大的工具,使我们能够以声明的方式编写应用程序。它鼓励所有正确的方法来构建易于维护和扩展的模块化独立架构。

但是,对于较小的项目和原型来说,这可能是矫枉过正。除了构建和运行项目所需的工具之外,它还有一个陡峭的学习曲线。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。