×

web前端三大主流框架

web前端三大主流框架(如何评价前端应用框架dva)

admin admin 发表于2023-02-16 08:54:03 浏览40 评论0

抢沙发发表评论

本文目录

如何评价前端应用框架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相关技术栈的学习成本,提高开发效率,是难得的标准化、提高企业信息化步伐的优秀框架。

以上是我的观点,谢谢!

web和java呢个更好学,沈阳哪个工资高

我来回答这个问题,自己从事IT行业 20年了,比较了解

1)首先这个提问不太合理,两者无法直接做比较,web是指网页,java是计算机语言,可以用于web开发

2)能用于WEB开发的工具有很多,JAVA只是其中一种开发工具,其它工具例如php, C#,javascript,python 等都能做WEB开发

3) JAVA是一门非常优秀的语言,可以支持跨平台,用java写的程序能同时在windows,安卓系统运行

4) JAVA除了能做web开发,还能做后端服务端开发,也可以开发app ,目前安卓平台下的有很多app 都是JAVA开发的,但不是全部,因为目前其它语言也支持开发app

5) 学好JAVA ,对于就业而言,还是比较方便的,在计算机编程语言中,JAVA的热度始终在前三位 ,目前一些大公司,都在使用JAVA,例如:阿里巴巴,在工作中用JAVA语言比重很大,JAVA主要机会在于存量用户比较多!

6) JAVA 有它适应场景,它并不是万能的,基本是在上层网络应用,但一些底层开发做不了,例如windows操作系统, 编写驱动,我们通常用C++, 如果是单片机上,我们会选用C语言

7) 如果在windows平台,做基于C/s开发一般不会用JAVA, 因为java需要虚拟运行解析,它是一门解析性语言,运行效率没有c++, delphi等其它语言高,同时对硬件层又难以控制

8)未来JAVA 风险也很大,前端WEB开发,目前主流三大框架vue,React,angular 都采用javascript, 也就是虽然JAVA能做web开发,但不是最优选择

9) 安卓app开发,谷哥也是逐步用kotlin来取代java ,因为java原先是sun公司的产品本来是免费的,但sun被oracle 收购了,oracle 以谷歌违反了部分规则,起诉了谷歌,结果谷歌输了官司,赔了几十亿,然后谷歌这二年逐步用kotlin代替java 在安卓上开发应用,已成趋势,安卓未来新增app上Java会减少

10) java在开发后端服务上,也有许多挑战,例如php的开发效率要高于java, 同样的工作内容,java干10天,PHP可能只要6天或7天就可以搞定,目前facebook, 百度等一些大公司,也有一定比例在用php做服务端开发

11)java学习难度要高于PHP等语言 ,学习成本更大,但它的内在一些机制,相对更好些,但如果要求不是特别高,php可以完全胜任

12)最后你需要根据自己,希望从事的具体岗位来决定学什么语言,如果做前端开发,我认为学习javascript +CSS+HTML 更加合理,当然同时选一个框架,如vue或 react ,也可以关注python ,这是一门容易上手的语言,除了写web,也可编写服务器运维程序,还经常作为网络爬虫在使用

13)工资收入,要看个人技术水平,一般刚出师的6000左右(各地区会有些差异),几年后月薪1万至2万比较多,具体要看上升至什么职务,是核心开发员?构架师 ?具体岗位不同差异很大,高的年薪百万的,也大有人在。

14)最后判断自己是否有优秀程序员潜力,只要看一下自己对数学,物理,这些理工科目,是否头疼?优秀软件工程师,一般逻辑性非常强,反而英语不是关键我接触到的顶尖的软件工程师,有很多从数学系转过来的,如果你的数学不好,不建议从事这个行业

15)最后说一下,IT行业的知识升级换代比较快,需要持续学习,另一方面,一些单位为了赶项目进度会经常加班,对此要有心理准备 。

下面照片,是我家中关于 IT方面一部分书籍,20年中最大感受是:不断需要更新知识, 顺手拍了几张 ,实际上IT涉及的技术是很多的;

最后希望我的上述回答,能对你有所帮助

写了这么多,点个赞再走吧;

喜欢请关注我@科学思维探索者