React - 介绍
React 是一个免费开源的前端 JavaScript 库,用于开发各种交互式用户界面。它是一个简单、功能丰富且基于组件的 UI 库。当我们说基于组件时,我们的意思是 React 通过创建各种可重用且独立的代码来开发应用程序。因此,这个 UI 库在 web 开发中被广泛使用。
React 可以用于开发小型应用程序,也可以用于大型复杂应用程序。React 提供最小且坚实的功能集来快速启动 web 应用程序。React 社区通过提供大量现成的组件来补充 React 库,从而在创纪录的时间内开发 web 应用程序。React 社区还在 React 库之上提供了高级概念,如 state management、routing 等。
React 版本
React 库由 Facebook 软件工程师 Jordan Walke 于 2011 年创立。然后,React 的初始版本 0.3.0 于 2013 年 5 月发布,最新版本 17.0.1 于 2020 年 10 月发布。主要版本引入了破坏性变更,而次要版本在不破坏现有功能的情况下引入新功能。Bug 修复会根据需要随时发布。React 遵循 Semantic Versioning (semver) 原则。
为什么需要 React?
尽管有各种库提供开发用户界面的媒介,但 React 在受欢迎程度上依然鹤立鸡群。原因如下 −
基于组件 − React 使用多个组件来构建应用程序。这些组件是独立的,拥有自己的逻辑,使其在整个开发过程中可重用。这将大大减少应用程序的开发时间。
更好且更快的性能 − React 使用 Virtual DOM。Virtual DOM 将应用程序组件的先前状态与当前状态进行比较,仅更新 Real DOM 中的变更。而传统的 web 应用程序会重新更新所有组件。这有助于 React 更快地创建 web 应用程序。
极高的灵活性 − React 允许开发者和团队设置他们认为最合适的约定,并按其意愿实现,因为 React 中没有严格的代码约定规则。
轻松创建动态应用程序 − 动态 web 应用程序需要较少的编码,同时提供更多功能。因此,React 可以轻松创建它们。
也可以开发移动应用程序 − 不仅限于 web 应用程序,React 还可以通过 React Native 开发移动应用程序。React Native 是一个开源的 UI 软件框架,源自 React 本身。它使用 React Framework 开发 Android、macOS、Web、Windows 等平台的应用程序。
调试简单 − React 中的数据流是单向的,即在使用 React 设计应用程序时,子组件嵌套在父组件中。由于数据流是单向的,调试错误和发现 bug 变得更容易。
应用
以下列出了一些由 React library 驱动的热门网站 −
Facebook,热门社交媒体应用 − React 最初在 Facebook(或 Meta)开发,因此他们使用它来运行应用是很自然的。至于他们的移动应用,它使用 React Native 来显示 Android 和 iOS 组件,而不是 DOM。Facebook 的代码库现在包含超过 20,000 个组件,并使用公开的 React 版本。
Instagram,热门照片分享应用 − Instagram 也完全基于 React,因为它同样由 Meta 驱动。其使用 React 的主要特性包括地理位置、Hashtags、Google Maps APIs 等。
Netflix,热门媒体流媒体应用 − Netflix 于 2015 年切换到 React。主要影响这一决定的因素包括:1) 启动速度,以减少渲染首页的处理时间并在 UI 中启用动态元素;2) 模块化,以允许各种特性与控制体验共存;3) 运行时性能,以实现高效的 UI 渲染。
Code Academy,热门在线培训应用 − Code Academy 使用 React,因为“脚本经过实战检验、易于理解、便于 SEO、兼容遗留代码,并且足够灵活以适应未来”。
Reddit,热门内容分享应用 − Reddit 也是从零开始使用 React 开发的。
如你所见,每个领域的热门应用大多由 React Library 开发。