如何评价前端应用框架dva?
如何评价前端应用框架dva?
-----
网友解答:
-----
一个基于 Redux 的前端应用开发框架。dva的封装比较薄,基础知识看过之后,整个框架理解起来比较轻松。Dva特点如下:
1. 框架: dva是个框架,集成了redux、redux-saga、react-router-redux、react-router
2. 快速初始化: 可以快速实现项目的初始化,不需要繁琐地配置
3. 简化开发:将initState、saga、reducer集成到一个model里面统一管理,避免文件散落在各个文件里面,便于快速查找与开发
4. 简洁的API:整个项目中只有dva、app.model、app.router、app.use、app.start几个API
5. 无缝对接:跟react的生态没有冲突,例如可以直接使用redux devtool工具
6. 动态机制:app.start以后,仍然可以注册model,灵活性较高
缺点如下:
1. namespace不统一: dva中的action.type格式是namespace/XXX,且在model中不需要添加前缀namespace,但是在组件中dispatch,却需要添加prefix
2. action问题:action会散落在两个地方,一个是saga里面,另外一个是component dispatch的时候,当然这个问题在使用redux-saga的时候就会存在,只是dva仍然没有很好地统一起来。
-----
网友解答:
-----
前端,通常指web前端,是使用网页技术呈现给用户的统称。前端应用框架,是指能够系统化、简单化方便开发网页应用的库。前端技术发展至今,主要细分为三大主流框架:React、Vue、Angular。React是由Facebook公司开发的拥有高效、灵活、逻辑简单的前端JavaScript库。dva是由阿里巴巴公司开发和维护,基于React框架为基础开发的一种使用简单、更贴近实际生产需要的前端应用框架。dva前端应用框架的出现改变了react框架在国内难以简单化、标准化、高效开发的难题。
dva框架的由来
React框架:React是渐进式UI库。React中每个单元都是一个组件,每个组件有自己的状态,通过组件嵌套组件形成树状关系,React通过编译并渲染页面,当组件的状态state发生改变时,React会重新计算出改变的那部分并更新UI。比如:页面点击了按钮设置隐藏一个元素,React会只把这部分UI进行更新,并不会全量更新。因此,很多公司会选择React作为基础前端库进行开发。
Redux状态管理JavaScript库:体积小、高性能的状态管理库。所有的状态改变由库进行处理,有效避免人为的逻辑错误,并支持回退等功能。
React、Redux关联:在最初的react项目的开发中,是需要手动将react、redux关联起来,才能更有效发挥react的作用。因此,各大社区也出现了关联的js库,如redux-thunk、redux-saga以及其他库,但由于使用的库不尽相同,使得react项目复杂度高、差异化很大,各大公司企业无法标准化、简单化开发。特别在国内,中小企业需要快速、低成本、高效实现业务的迫切需求。
dva框架的由来:鉴于以上react项目不统一、复杂度高的问题,dva框架应运而生。开发者只需要按dva的开发模式开发业务层代码,就可以开发复杂应用。
dva的工作原理
dva工作模式。开发者只需编写业务代码,dva框架底层进行编译转换,自动关联react、redux,实现功能效果。
dva数据流向。通过捕获用户交互行为或者浏览器行为(如路由改变等)触发的数据改变,通过dispatch函数发起一个action动作,如果是同步行为会直接通过 Reducers动作处理函数改变State状态;如果是异步行为会先触发Effects副作用然后流向Reducers动作处理函数最终改变State状态。
dva的优势
数据流转清晰,提高项目可维护性开箱即用,降低学习成本,提高企业生产效率。插件体系方便扩展,满足个性化需要dva的发展趋势
插件多元化个性化,互助共享。dva具有完善的插件体系,在企业大规模开发后,会逐步形成自己的插件和标准。这更能够贴切企业自身业务自身需要,促进不断前进。一些龙头企业能够将行业内的通用解决方案进行插件共享,实现互助共享的良好氛围。
dva融合umi框架简化React开发。umi是一个可插拔的企业级react应用框架,dva侧重于数据流解决方案,通过两者的有机融合,极大程度简化React开发。也成为了目前业界普遍使用的模式。
最后
在当下前端技术飞速、多元发展的时期,dva前端应用框架的出现,更贴切企业开箱即用的迫切需要,让企业能够专注于业务开发,降低react相关技术栈的学习成本,提高开发效率,是难得的标准化、提高企业信息化步伐的优秀框架。
以上是我的观点,谢谢!
-----
网友解答:
-----
都2022年了对TS的支持还是非常弱 居然还没有hook umi估计都受不了对自己出来个轻量级数据流插件 上点心吧
------------------
推荐阅读:
为什么说老旧多层住房外置加装的电梯是标标准准的“新建”工程?
下一篇: 金陵十二钗正册都有谁?