前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >为什么我们选择使用 React 而不是 Angular 构建新 UI

为什么我们选择使用 React 而不是 Angular 构建新 UI

作者头像
疯狂的技术宅
发布于 2019-03-28 02:12:53
发布于 2019-03-28 02:12:53
2.4K0
举报
文章被收录于专栏:京程一灯京程一灯

我们在2013年推出了Cloud Elements集成平台的v1版本,这个产品在过去几年里一直为客户和公司发展提供了良好的服务。但是2017年,Web技术迅速演变,从而使用户期望也进一步发展。现在是我们重新思考整个开发者流程的时候了,这也为我们重新思考我们的技术栈提供了一个机会。 在产品发布周期和发布期限的世界中,技术的选择至关重要。以下是我们一路走来的历程,帮助你揭开一些关于React的实用亮点。

我们来自哪里

在React之前,我们使用AngularJS,这可能是当时被选中的最流行的前端框架。 但是如上所述,时过境迁,AngularJS v1.x的统治已被其年轻的小弟Angular 2所篡夺。 离开AngularJS v1.x的一个主要目的是这个框架的生命结束的可预见性。 虽然它仍然得到积极的支持,但这是一个向新事物转变的好机会。

使用 JavaScript 框架的优点

开发团队知道继续使用 JavaScript 框架将提供几个显著的优点:

效率:通过结构良好的预构建模式和功能,可以更快地实现过去需要数月和数百行代码才能实现的项目。

安全性:JavaScript 框架内置安全测试,并且可以得到由成员和用户也作为测试人员的大型社区支持。

成本:大多数框架是开源和免费的。由于它们可以帮助工程师更快地构建定制解决方案,因此 Web App 的最终价格将会降低。

为什么选择 React

当在考虑构建我们新 UI 的不同选择时,React 显然是一个明智的选择,因为它的描述性,高效性和灵活性。与 Angular 不同,ReactJS 是一个基于 JavaScript 的开源库,带有 JSX 编译器。它主要关注用户界面,允许我们创建可重用的 UI 组件。

React 都是基于组件的。使用 React 构建应用程序是将这些组件中的许多组合在一起,将应用程序 UI 带入生活 -- 非常像乐高玩具!这些封装的组件管理自己的状态,因为组件逻辑是用 JavaScript 而不是模板编写的,你可以轻松地通过应用程序传递丰富的数据,而不用担心 DOM 中的状态。

你可以为应用程序中的每个状态设计一个简单的视图,并且 React 会在数据更改时处理组件的呈现。

虽然有些人将争取完全无状态的组件,但 React 的真正威力和性能来自于接受应用程序状态概念。

使用 React,你应该永远记住,它实际上并不是一个 JS 框架,而是一个用于渲染视图的库。

虽然有许多框架可供选择(例如,Vue,Ember 和 Angular 2),但 React 具有一些关键优势:

  1. JSX 是一种 JavaScript 语法,它启用了 HTML 的引用,并使用 HTML 标签的语法来渲染子组件。它促进机器可读代码的构建,并提供了一个在编译时验证文件中组合组件的能力。
  2. 由于使用虚拟 DOM,与 Angular 1.x 相比,它带来了极大的性能提升。除此之外,React 组件可以在应用程序之间创建和重用。
  3. ReactJS 和 AngularJS 的主要区别在于 React 是以 JS 为中心的,而 AngularJS 是以 HTML 为中心。JavaScript 要比 HTML 更强大,这使得 React 更加简单,集中和一致。

React 如何改进了我们开发者的开发体验

React 通过 Stackoverflow,Reactiflux Chat,Freenode IRC,Facebook 和 Twitter 等论坛提供支持,这也让我们在选择时更容易做出决定。

React 可能不会做任何事情,但它提供了一个补充工具的列表,包括调试工具,组件工作台,JSX 集成,基本入门工具包,全栈入门工具包,模型管理以及与其他平台紧密合作的其他工具。

React 是 Facebook 和 Instagram 的用户界面使用的框架,这也显示出了它动态,高流量应用程序的效率。React 可能是增长最快的JS“框架” —— 截至今天,GitHub 有超过 1,000 个贡献者。

尽管 React 有一个学习曲线,但它使应用程序开发变得简单易懂。此外,它非常适合复杂,高负载的场景和下一代软件解决方案。

数据来源: https://insights.stackoverflow.com/survey/2017

React 提供了一些有用的开发者工具来创建需要零配置的应用程序。随着平台的不断增长,React 不断发布新功能和升级。最近发布的是 webpack 2,因直接编写和导入 ES6 模块,且不需要将它们编译到 CommonJS 中而有名,这有助于捕获更多的错误。

是什么使得 React 与众不同

React 本身不是一个框架。如前所述,它应该被认为是视图渲染引擎或组件模型。

React 提供可重复使用的可配置组件,让您快速入门。网络上有许多易用的 React 组件,几乎涵盖了所有方面:表单(react-form),状态管理(Redux),SPA 路由(react-router),实时消息(reactfire),管理异步任务(react-axios),绘图(react-sparklines)-- 不胜枚举。

这是一个很好的图表,显示了 React 和 Angular 之间的主要区别:

数据来源: https://da-14.com/blog/reactjs-vs-angular-comparison-which-better

结论

当你考虑转向使用 React 或基于 React 构建时,了解你的数据以及你希望将如何发展是你在迈步前进之前必须弄清楚的。例如,React 使用单向数据绑定,其中数据流仅以单一方式进行。因此,你将需要始终关注数据发生变化的地方,使其在大型应用程序中更容易进行调试。

你还需要深入了解你需要解决的业务问题,以及你需要什么数据来回答这些问题。我们是跨团队的数据驱动型组织。因此,在工程中,我们使用监控和数据收集来了解哪些虽然需要花费时间来投入,以及如何最好地利用我们的资源。总的来说,在基于 React 上构建新的 UI,我们克服了困难,但我们从来没有忘记过我们的主要目标 —— 减少耗费的时间以提升价值、数据的灵活性,同时留下进步和创新的空间。

原文:https://www.programmableweb.com/news/why-we-built-our-new-developer-ui-react-instead-angular/analysis/2017/07/06

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

本文分享自 京程一灯 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
走近webpack(3)--图片的处理
  上一章,咱们学了如何用webpack来打包css,压缩js等。这一篇文章咱们来学习一下如何用webpack来处理图片。废话不多说,咱们开始吧。   首先,咱们随便找一张你喜欢的图片放到src/images目录下,然后把图片设置为背景图片,代码是这个样子。 src/index.html: <div id="title"></div> <div id="name"></div> <div id="img"></div> <script src="./entry1.js"></script> <script
zaking
2018/05/02
9990
2、webpack从0到1-模块化规范
本章在上章内容的基础上简单扩展一下,先说下模块的规范,有哪些标准,然后谈下webpack的loader怎么用以及使用webpack中的babel-loader简单打包一下。 git仓库:webpack-demo 1、模块化规范 上章我们知道webpack是一个模块打包工具,何为模块?一个js文件、css等等都可以称之为模块,ok,假设现在我有a.js、b.js、c.js等等,而且它们之间还要相互引用,咋整?这时候就需要有一套标准来定义该怎么引用啊,它们之间是个啥依赖关系啊之类的,那么大概就有这么几种
Ewall
2020/03/20
4310
webpack5资源最佳加载方案
​​​​在前面几篇文章中,我们已经学会基础的运用webpack与webpack-cli从0到1搭建一个简单的react或者vue工程应用,这其中我们使用了加载文件,我们在之前处理文件使用file-loader或者url-loader处理,url-loader主要是可以针对图片文件大小进行有选择的base64压缩,在webpack5中可以用内置的Asset Modules来处理图片资源
Maic
2022/07/28
8940
webpack5资源最佳加载方案
Webpack 打包图片资源
打包图片资源 Webpack 用来处理一些文件时, 是选用对应的loader 来 处理打包的,知道这个原理,就好办了。 例如: 打包图片,就找对应的 打包图片的 loader, 1. 安装 2. 使用 ,这样就完成了处理打包。 图片打包使用的是loader 为 url-loader 和 file-loader 来处理打包图片 test: 自定义要处理哪些图片格式 使用url-loader时,可通过options 来配置一些图片的属性,例如大小, 次例子,当图片大小 小于 1MB 转化为Bas
程序员海军
2021/10/06
1K0
Webpack 打包图片资源
【前端技术】Webpack基础
Webpack 是一个打包模块化 JavaScript 的工具,在 Webpack 里一切文件皆模块,通过 Loader 转换文件,通过 Plugin 注入钩子,最后输出由多个模块组合成的文件。Webpack 专注于构建模块化项目。其官网的首页图很形象的画出了 Webpack 是什么,如下:
演化计算与人工智能
2022/01/24
7640
【前端技术】Webpack基础
《webpack5 实战五》之资源模块
资源模块(asset module)是一种模块类型,它允许使用资源文件(字体,图标等)而无需配置额外 loader。
星宇大前端
2022/03/09
8150
《webpack5 实战五》之资源模块
Webpack 打包资源篇
继上篇Webpack 初体验后,本章将讲解如何进行打包资源文件,图片的打包以及其它资源呢的打包。以及Webpack的 devServer 自动化。
程序员海军
2021/10/11
6020
Webpack 打包资源篇
webpack 从入门到放弃
Webpack + ES6 已经成为目前最流行的前端解决方案,本文是 Webpack2 学习教程。
李振
2021/11/26
6050
3-2 使用loader打包静态资源(图片)
上一节我们成功打包并展示了一张图片。可是我们看到最终输出的图片名称是一串hash值,如果我们希望其展示的是原来的名称呢?可以进行如下配置:
love丁酥酥
2019/06/16
5210
webpack4 入门
源码地址 https://github.com/lilugirl/learn-webpack4/tree/master/3
lilugirl
2019/10/08
5490
webpack 入门教程
本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
老马
2018/08/20
4K0
webpack 入门教程
5、webpack从0到1-处理css文件
讲下webpack如何处理css样式文件。 git仓库:webpack-demo 1、新建 进入项目中,在src目录下新建一个styles/header.css文件。 webpack-demo/chapter5 ... |- /src |- /assets |- content.js |- footer.js |- header.js |- index.js |- logo.js + |- header.css |- index.ht
Ewall
2020/03/20
8020
webpack 学习笔记系列04-资源处理优化
TypeScript 约定了 tsconfig.json 文件来存储项目配置,文档链接。
CS逍遥剑仙
2021/02/21
1.8K0
(8/24) 图片跳坑大战--css中的图片处理
前言:此节的开展是在上一节的基础上进行的,(每一节都是从无到有编写关于此节的知识),最后会附上相关完整代码。上一节
wfaceboss
2019/04/08
8360
(8/24) 图片跳坑大战--css中的图片处理
深入浅出webpack的最佳实践!
导语 | 本文推选自腾讯云开发者社区-【技思广益 · 腾讯技术人原创集】专栏。该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口。栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启迪共成长。本文作者是腾讯云前端开发Jou。 自从加入腾讯,作者便一直在使用webpack,因此,本文主要整理一下webpack相关的知识点,由浅入深,后续会一直更新分享,以便对此方面感兴趣的开发者们提供一些经验和帮助。欢迎点击文末「阅读原文」访问腾讯云开发者社区,查看作者作品~ 核心概念 (一)Module
腾讯云开发者
2022/08/31
6850
深入浅出webpack的最佳实践!
17、webpack从0到1-构建vue项目
讲下webpack中的对于vue配置,其实vue官方就提供了一套模板vue-webpack-template,我们学习学习,然后基于当前自己的项目来配置下。 git仓库:webpack-demo 1、处理vue 对于.vue这种文件,webpack肯定是不认识的,所以我们需要相应的loader来处理它,通过查阅文档我们发现需要安装这两个东西: $ npm install vue-loader vue-template-compiler --save-dev 然后安装文档上面的教程,照猫画虎搞一下。这
Ewall
2020/03/25
5810
​(非软文)Webpack从入门到实战搭建Vue脚手架(一万字总结)
安装依赖包 (-D 将依赖记录成开发依赖, 只是开发中需要用的依赖, 实际上线不需要的)
Vam的金豆之路
2021/12/01
1.3K0
webpack4.x常用配置
yarn init -y yarn add webpack webpack-cli -D
FinGet
2020/01/13
2K0
webpack4.x常用配置
6、webpack从0到1-less、sass、postcss
参考链接: postcss-loader webpack css-loader
Ewall
2020/03/20
1.1K0
Webpack(二):使用 loader
Webpack 提倡一切皆模块,所有类型的文件(css、图片等)都可以经过 loader 处理变成我们可加载的模块。
Chor
2019/11/07
9770
相关推荐
走近webpack(3)--图片的处理
更多 >
目录
  • 我们来自哪里
  • 使用 JavaScript 框架的优点
  • 为什么选择 React
  • React 如何改进了我们开发者的开发体验
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档