极客视点
极客时间编辑部
极客时间编辑部
113241 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:14
登录|注册

Angular用户对React的使用报告

讲述:丁婵大小:7.20M时长:05:14
最近,一位名叫阿批尼亚·德查尔特(Aphinya Dechalert)的 Angular 用户尝试使用了 React,并把这段经历分享了出来。他从不同角度分享了 React 的优点和缺点,希望对技术人提供一些参考价值。其重点内容如下。

这是一个库

React 是一个库,而库必须与其他库搭配使用才能解决特定问题。React 的问题解决能力主要体现在渲染前端界面和管理经常变化的数据上。
React 的优势在于单向数据流,在面对突变和意外继承时可以确保高度稳定性和可预测性。React 非常讨人喜欢的另一个因素是它处理关注点分离的方式。它颠覆了传统的筒仓(silo)方法,也就是将 CSS、JavaScript 和 HTML 分离成单独的文档文件,并将它们放在同一个空间中以备处理。
从理论上讲,在 Angular 中也可以实现基于关系的关注点分离,但不会像 React 中那样是默认方法,也没那么直观。
React 之所以能实现这一目标,是因为其原则是代码组件都要维持在足够小的体积上,从而使这些组件的域和边界都易于检测和理解。但这不是硬性规定,组件的最终大小是由开发者确定的。
React 的流行主要是因为市面上缺少像样的起步架构,人们很需要这种架构来上手。React 与 Angular 是不一样的,在 Angular 中需要用 CLI 来为框架生成必要的设置,而 React 需要的准备工作非常少。
但很多人在对比它们的时候都会犯一个错误。React 是一个库,这意味着它体积很小,功能专一,且有针对性。但 Angular 是一个框架,这意味着它是符合同一套规则的一系列库的集合。因此,说 Angular 臃肿是不公平的,因为它俩并不是同一类事物。
Angular 与 React 的争论似乎持续了很长时间。但这本质上不是谁更好的问题,而是谁更适合你开发需求的问题。
React 比 Angular 更容易上手,特别是对于开发新手来说。React 作为一个库所面临的问题是没有结构上的约束,只有语法的约束。这可能导致应用结构松散、缺乏命名约定、文件夹结构(如果有这种东西)随意混乱,生产部署中还可能打包进去很多冗余文件。从理论上讲,如果你不遵守那些最佳编程规则,那么做出来的任何事物都可能落得这样的下场。可是这些最佳方法并没有在代码中通过约束固定下来。
此外,React 是 JSX,它是 JavaScript 的一种变体,这意味着你仍然需要了解 JavaScript 的实际机制。你需要深入研究的还有其他一些事物,其中包括状态和数据流的概念,这会让你在使用 React 是更有优势。

React 的优点

React 作为一个库,意味着具有高度可移植性,你随便把它放在哪里都能正常工作。有时我们需要做微前端,或是处理一些和旧式系统有着密切联系的过渡型应用,这时 React 的可移植优势就非常有用了。
它与 React Native 的关系也是一个优点,它们改变了渐进式 Web 应用的制作方式。与其他基于 JavaScript 的框架不同的是,React Native 会更进一步,将代码转换为苹果和谷歌要求的原生语言。
因此,React Native 不会把网站伪装成应用程序,而是将其转变为实际的应用程序,从而提供更好的整体性能,以及更好的途径来访问设备上的原生功能(如地图、指南针、图像和相机等)。代码本身还是以 React 为主,但是变成了适应各种移动设备的 React 版本。

React 烦人的部分

React 缺乏很多常用功能,例如自动数据绑定等。而且为了给它开路,你得找来几乎所有基于 JavaScript 的库才行。作为对比,Angular 这边你只要选一个已经打包进 Angular 的可用库即可。你只要记得导入它,然后就万事大吉。但 React 很大程度上要依赖第三方库,这些库有时不能很好地与 React 搭配工作。
在 React 社区中,关于组件设计和组件组织的讨论也很少,这也是它的不足之处。
以上就是德查尔特试用 React 之后的感受,他表示,业界永远都在追捧下一个热点,但最佳方法就是学习如何正确地编写代码,然后把这件事做好即可。作为开发人员,你的水平取决于你能以多快的速度,凭借良好的编程基础来适应当前的需求和环境。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
这是一个库
React 的优点
React 烦人的部分
显示
设置
留言
收藏
24
沉浸
阅读
分享
手机端
快捷键
回顶部