前端,通常指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相关技术栈的学习成本,提高开发效率,是难得的标准化、提高企业信息化步伐的优秀框架。
以上是偶的观点,谢谢!