前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >React的时间简史

React的时间简史

作者头像
Cookieboty
发布2020-11-25 12:49:17
1.2K0
发布2020-11-25 12:49:17
举报

前言

首先,失踪人口正式回归,近来遇到些事情导致原定的系列计划搁置,深表抱歉,后续会正常迭代。

但荣获鸽王水王的称号是我没想到的。

React 的起源

React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在 2013 年 5 月开源了。

朕就是这样汉子,就是这样秉性,就是这样皇帝。只要我不满意了,就亲自上

React 的介绍

MVC 架构

首先我们一起了解一下 React 的架构设计

MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

前端代表的框架有:AngularJS、BackboneJS、Ember、React、Knockout 等。

但 React 并不是完整的 MVC 框架,一般更偏向 View 层。将界面分割成每个独立的组件与模块,再相互组合、嵌套成一个完整页面

特点
  1. 声明式设计:React 采用声明范式,可以轻松描述应用。
  2. 高效:React 通过对 DOM 的模拟,最大限度地减少与 DOM 的交互。
  3. 灵活:React 可以与已知的库或框架很好地配合。
优势
  1. 虚拟 DOM,减少前端对 DOM 操作,跨浏览器兼容,使研发更针对于项目业务本身
  2. 单向数据流、组件化思想等,提高代码质量
  3. 庞大的社区生态圈

React 的发展

总体上 React 团队长期在框架更新迭代的 api 破坏性升级上还是比较收敛的,特别是 17 版本中引入了渐进式升级,是针对旧工程的一个优化,很多时候,巨石旧项目是维护很头疼的时候,无论是迭代还是重构升级。

大家都不喜欢埋坑,但是无论你埋不埋,坑都会在那,有的坑浅,一脚就过去了,有的坑深,进去了可能就出不来了,甚至还有进去之后继续挖的。渐进式升级虽然解决不了坑,但是可以加个桥,倒也不错。

从上图我们可以发现,由于拥有庞大的社区生态以及自身对框架的迭代升级的收敛,npm 下载增速虽然渐缓,但仍在稳步上升中。

React 的生态

脚手架/框架类
  • Umi(Umi 是一个可插拔的企业级 react 应用框架。拥有众多生态,开箱即用好选择)
  • Create React App (Create React App 是一个官方支持的创建 React 单页应用程序的方法。它提供了一个零配置的现代构建设置。想自定义配置的同学,可以以此为基础上手)
  • Nextjs(SSR 框架,对 SEO 或首屏幕渲染有要求的,可以上手)
  • React-vr(React vr 框架,似乎对展厅、房屋设计这块的同学有帮助?)
  • Reactxp(React 多终端框架,除了目前不能用在 mac 上)
组件库类
  • Ant Design 系列(蚂蚁金服出品,pc、moblie等。引入了 Ant Design 设计概念)
  • Material-UI(实现了谷歌Material Design设计规范。世界上最流行的React界面框架之一)
工具类
  • Redux(遵循函数式编程思想的状态管理插件)
  • Mobx(面向对象编程和响应式编程的状态管理插件)
  • Immutable-js(Immutable.js 是由 Facebook 开源的一个项目,主要是为了解决 javascript Immutable Data 的问题)
跨端类
  • Remax(阿里出品的 React 跨端框架,目前支持支付宝、微信、字节小程序)
  • Taro(京东出品的类 React 跨端框架,目前支持主流小程序及 React Native)
  • React Native(使用 JavaScript 也能编写原生移动应用的 React 框架)

写在最后

React 是一个非常成熟的框架,广大的前端朋友,还是非常值得一试,包括它的设计理念、技术细节等等,都可以对个人技术提升有帮助。

不要仅仅局限一类技术框架,设计理念是与时俱进的,Jquery 统治的那些年一样会过去了被淘汰掉。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端小兵成长营 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • React 的起源
  • React 的介绍
    • MVC 架构
      • 特点
        • 优势
        • React 的发展
        • React 的生态
          • 脚手架/框架类
            • 组件库类
              • 工具类
                • 跨端类
                • 写在最后
                相关产品与服务
                云开发 CloudBase
                云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档