前端领域 。选择框架是根据使用场景、业务需求、技术实现等综合因素考虑的 。选择最适合的才能发挥最大效果 。
目前前端三大主流框架有:React、Vue、Angular 。他们在各自特定的场景下使用都非常出色 。其中 。Vue是不错的渐进式JavaScript库 。更易于样式开发构建UI 。而我更倾向于选择React 。因为React具有独特优势:
React函数式编程理念使代码更优雅和合理
严谨的单向数据流设计 。方便构建大型复杂稳定的单页面应用
丰富的技术生态圈 。拥有世界范围内各大技术社区支持
方便配合ReactNative开发跨终端应用
文章插图
React的函数式编程理念使代码更优雅和合理
函数式编程设计思想 。函数式编程是用函数的组合来进行编程 。先声明函数 。然后调用函数 。每一步都有返回值 。通过抽出每一步逻辑运算抽象 。封装在函数中 。再将函数组合来编写程序 。例如:计算平均值百分比 。我们可以拆分为三个函数 。一个是计算平均值 。一个是计算百分比 。一个是综合调用的函数 。通过函数嵌套函数的方式 。使得代码更优雅 。更有利于复用 。
文章插图
React使用函数式编程思想使代码更优雅和合理 。更有利于组件化、模块化开发 。React的每个组件就是函数生成 。页面的渲染过程本质就是函数的嵌套调用过程 。React的这种设计对于使用来说非常方便 。例如以下子组件嵌套子组件再嵌套子组件示例:子组件中嵌套子组件调用模式始终都是相同的 。父组件调用子组件都只需要考虑传递的参数props 。而子组件只需要考虑传入的参数 。
文章插图
严谨的单向数据流设计 。方便构建大型复杂稳定的单页面应用
React的数据流始终是单向设计的 。严格遵照数据驱动DOM 。这样的好处是 。降低了组件互相通信的代码耦合度 。数据流更清晰 。调试更方便 。大型复杂单页面应用一直是企业的难题 。传统方式开发都不能够很好的维护 。而使用React为基础的技术栈 。能够方便地拆分模块、组件 。再配合Redux数据流管理 。能够高效构建应用 。事实证明 。这种React、Redux的大型复杂单页面项目构建方案 。已经在各大互联网公司得到应用和发展 。
文章插图
丰富的技术生态圈 。拥有世界范围内各大技术社区支持
React是由Facebook公司开发的高品质现代化前端框架 。具有很高的权威性和专业性 。在世界范围内得到各大技术社区支持 。包括国内的技术社区 。比如 。npm官网、淘宝cnpm社区等都有很丰富的生态 。众多的开发者共同添砖加瓦 。开源共享 。丰富了技术生态圈 。让我们方便学习和使用基于React的组件、插件 。减少开发成本 。提高开发效率 。在国内 。由阿里巴巴公司开发的基于React基础开发的Antd组件库深受各大互联网企业好评 。开箱即用 。为加速国内中小企业的中台化、信息化推进起到了重要作用 。
文章插图
【你为什么选择React而不选择Vue?】方便配合ReactNative开发跨终端应用
当前互联网公司的一个重要难题问题是:如何减少成本、高效的进行跨终端应用开发 。也就是说 。互联网公司都希望能够开发iOS、Android、H5应用 。React配合ReactNative库能够方便地开发跨终端应用 。ReactNative设计原理上和React一致 。使用了React技术栈 。就已经有了基础 。再配合ReactNative就能一套代码 。编译生成多端应用 。ReactNative方便众多公司快速高效开发App 。降低研发成本 。提高了生产力 。减少了开发时间 。
文章插图
React、Vue发展趋势
React的发展趋势更注重函数式编程 。当前从16.7版本以后 。出现了Hook函数钩子的思想 。只能是React函数式的组件才能使用 。这一特性很明显 。React希望将函数式编程发挥极致 。更优更好地项目开发 。有趣的是 。这里出现了useMemo函数 。像极了Vue中的computed的作用 。这里React就是借鉴了Vue的动态监听变量的模式 。
Vue的发展趋势为更注重了项目标准化、严谨化 。在Vue3中已经开始使用了TypeScript替代不够严格的JavaScript写法 。而引入TypeScript这一点是借鉴了React的能够深度融合TypeScript更严谨开发的经验 。
推荐阅读
- 全球十大男士护肤品牌排行榜 男士护肤品套装排行榜10强
- 我的世界为什么没有流沙?
- dnf技能宝珠,DNF春节技能宝珠腰带加四维
- 在vue模板引入jQuery报错,谁知道怎么解决?
- 我的世界从最早到现在更新了多少版本?
- 中国户外品牌排行榜前十名 2021年国产户外服装品牌排行榜
- 什么编辑器适合写Vue?
- 我的世界混凝土怎么做?怎么玩?
- 哈根达斯在中国为什么卖这么贵 带你了解为什么哈根达斯卖的这么贵