首页 > 其他分享 >浅聊一下,React会不会被VUE取代?

浅聊一下,React会不会被VUE取代?

时间:2023-07-31 13:12:16浏览次数:37  
标签:VUE 框架 浅聊 js React Vue 开发者 应用

看到知乎上有比较多的类似问题,正好这两个框架在以往的一些项目中都有实践过,就借着本篇文章说说我个人的看法。   先摆个结论:不会,毕竟各有千秋,除非跨端框架有被更好的概念所替代,又或者App已经彻底过气了。  

什么是React?什么是VUE?

维基百科上的概念解释,Vue.js是一个用于创建用户界面的开源MVVM前端JavaScript框架,也是一个创建单页应用的Web应用框架。Vue.js由尤雨溪(Evan You)创建,由他和其他活跃的核心团队成员维护。   2016年一项针对JavaScript框架的调查表明,Vue有着89%的开发者满意度。在GitHub上,该项目平均每天能收获95颗星,为GitHub有史以来星标数第3多的项目。   React Native 是由 Facebook (已改名:Meta) 创建的一种实现跨端的技术。与VUE,Cordora这种在Webview中嵌套网页App的跨端技术不同。React Native 最终提供给用户的视图是原生视图,这让用户能体验到原生应用的感觉。

React与VUE有其各自的优缺点

首先,都是跨端框架,那么跨端开发的属性是必不可少的, 此为共性。React Native允许开发者使用相同的代码库在多个平台(iOS和Android)上构建应用程序,大大减少了开发成本和时间。Vue.js并不像React Native那样专注于跨平台移动应用开发,虽然可以使用Vue.js开发Web应用和移动Web应用,但对于原生应用开发,需要使用其他解决方案。在这点上,我给React +1分。   同时,React Native的热更新技术也是加分项。React允许在应用程序运行时进行热更新,而无需重新发布应用程序,这大大简化了应用程序的更新流程。社区规模方面,背靠Meta的React,拥有庞大的开发者社区,提供了大量的第三方库、组件和工具,方便开发者快速构建功能丰富的应用。尽管VUE的社区有很高的活跃度,但社区规模还是比不上React,一些特殊场景的技术实例可能会支持受限。   感觉上面说的都是RN的优势,那VUE呢?当然也有其优点:渐进式框架使得Vue.js易于学习和使用;Vue.js的文件大小较小,加载速度快,而且具有良好的性能,尤其适用于移动端和低带宽环境;支持双向数据绑定,使得数据与视图之间的同步更加方便和高效。   这里做个小结,跨端框架的应用,只有相对合适,没有绝对合适。如果你期望使用相同的代码库构建跨平台移动应用,尤其是对性能和原生接近程度有较高要求的项目,那么用React Native。而Vue.js适用于那些希望使用一个简单、轻量级的框架构建Web应用,并且灵活性较高的开发项目。  

前瞻:创新性的跨端框架

相比于传统的原生应用开发技术,小程序技术具有轻量、快速开发、跨平台、无需安装、更便于用户使用等优势。小程序不需要用户下载安装即可使用,同时小程序的开发成本相对更低,开发速度更快,也更易于维护更新。小程序技术还支持跨平台运行,可以同时在多个移动设备上运行,极大地扩展了应用的覆盖范围,为企业和开发者带来更大的商业价值。市面上一些比较知名的小程序容器技术产品包括:微信、支付宝、百度、抖音小程序等,他们都是以完善大社交平台自有小程序生态的技术底座,能提供第三方进行私有化部署的有:FinClip、mPaaS等产品。据了解,FinClip自行研发的小程序容器技术,能够让企业的App能具备快速运行小程序的能力,他们家的SDK还能嵌入除App以外的职能设备终端中(如 Linux、Windows、MacOS、麒麟等操作系统上运行)。   小程序容器作为微信生态系统的一部分,为开发者提供了一个稳定、高效的运行环境,让开发者可以更专注于应用程序的功能和用户体验。微信生态系统的庞大用户基础和丰富的开发者社区,为开发者和企业提供了广阔的商机和合作伙伴。通过跨端开发、小程序容器和微信生态的结合,开发者可以快速迭代、高效开发和部署应用程序,提供更好的用户体验,同时获得更广泛的市场覆盖和商业机会。  

没有最好,只有最合适

开发项目只有最合适的选择,而没有绝对最好的框架。每个项目都有自己的独特需求、团队背景和时间限制,因此,在选择合适的框架时需要仔细权衡各种因素。   如果项目需要快速构建跨平台移动应用,并且已有React或React相关的技术栈,那么React Native可能是一个很好的选择。它的社区庞大,支持丰富,性能优化较好,适用于一些需要原生接近度较高的场景;如果项目主要是Web应用开发,特别是希望逐渐应用前端框架到现有项目中,Vue.js可能是更合适的选择。它的轻量级和灵活性,使得开发者可以快速上手,逐步构建复杂的前端应用。   除了React Native和Vue.js,还有一些其他的跨端框架,如Flutter、Ionic、FinClip等,它们也具有各自的优势和适用场景。选择合适的框架应该综合考虑项目的需求、开发团队的技术栈和熟悉程度,以及框架的生态系统和性能表现等方面。    

标签:VUE,框架,浅聊,js,React,Vue,开发者,应用
From: https://www.cnblogs.com/speedoooo/p/17593172.html

相关文章

  • Vue打开新窗口
    方式一:openNewWindow(){const{href}=this.$router.resolve({path:"/preview",});window.open(href,"_blank","width=900,height=700");},方式二:<router-linktarget="......
  • VUE el-table表格实现双击编辑,单机空白处放弃修改,回车提交修改
    VUEel-table表格实现双击编辑,单机空白处放弃修改,回车提交修改template<el-row><el-col:span="24"><el-table@cell-dblclick="handleCellDBClick":data="tabledata"border><!--生成列--><......
  • vue2集成simple-mind-map思维导图,实现在线制作思维导图
    1.使用组件组件源码版本licensesimple-mind-map地址0.6.6MIT@toast-ui/editor地址3.1.5MITv-viewer地址1.6.4MITxlsx地址0.18.5Apache-2.0vue-i18n地址8.27.2MIT2.组件结构(部分)3.截图4.示例项目项目一:gitee......
  • vue 环境配置
    根目录下创建.env.env.production.env.development在vite.config.js中使用defineConfig(({mode})=>{constenv=loadEnv(mode,process.cwd());const{VITE_NODE_ENV}=env;})其他地方使用exportconstrequestURL=import.meta.env.VITE_APP_BASE_UR......
  • vue2集成bpmn流程图,可导入导出预览等
    1.使用到的组件组件源码版本licensebpmn-js地址7.3.1bpmn.iobpmn-js-properties-panel地址0.37.2MITcamunda-bpmn-moddle地址4.5.0MIT版本一定要对,否则可能会报错2.组件代码<template><divid="app"><divclass="container">......
  • vue + vite 在index.html中使用环境变量
    npminstallvite-plugin-html-Dvite.config.jsimport{createHtmlPluginasuseHtmlLoader}from'vite-plugin-html'useHtmlLoader({inject:{data:{title:VITE_APP_BASE_URL,},},}),index.html可以使用啦!!!<pclass=&quo......
  • reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsE
    生产环境好好的,突然前端请求全部跨域,请求500。gateway报错。reactor.core.Exceptions$ErrorCallbackNotImplemented:java.lang.IndexOutOfBoundsException:Index:0,Size:0。所有的接口都报。原因由于gateway也集成了springboot-admin,开启了应用程序的actuator端点,导致......
  • vue2集成tinymce富文本编辑器,添加本地资源解决加载慢问题
     组件源码版本licensetinymce地址4.9.3MIT示例项目一源码地址:gitee1.封装组件<template><div:class="{fullscreen:fullscreen}"class="tinymce-container":style="{width:containerWidth}"><textarea:id="tinymc......
  • vue3
    一、vue3最终响应式原理letperson={name:'张三',age:15,}//我们管p叫做代理数据,管person叫源数据constp=newProxy(person,{//target代表的是person这个源对象,propName代表读取或者写入的属性名get(target,propName){console.log('有人......
  • Vue的学习笔记
    一、弹窗的初始化1.弹窗打开的时候想要对弹窗进行一些初始化数据(比如从表默认选中第一行),可以用@opened绑定方法进行操作,详见:https://element.eleme.cn/#/zh-CN/component/dialog  二、显示与不显示:v-show视频学习地址(03-key,v-show,computed|【入门篇】从零开始学习Vue3核......