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
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论