首页 APP开发 正文

vue开发和uniapp开发(uniapp和vue有什么区别)

APP开发 1659
今天给各位分享vue开发和uniapp开发的知识,其中也会对uniapp和vue有什么区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、uniapp和vue有什么区别?

今天给各位分享vue开发和uniapp开发的知识,其中也会对uniapp和vue有什么区别进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

uniapp和vue有什么区别?

vue和uni-app的区别如下:

1、uni-app可以通过打包实现一套代码多端运行,而vue不行。

2、uni-app有自动的框架预载,加载页面的速度更快,vue没有。

3、uniapp使用小程序的标签,vue使用web端的标签。

4、uni不支持vue-router,使用自带的路由。

uni-app的优点

优点一:

uni-app是一套可以适用多端的开源框架,一套代码可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序等。

优点二:

uni-app对前端开发人员比较友好,学习成本比较低,首先uni-app是基于vue.js的。其次封装的组件和微信小程序的组件一样。

优点三:

uni-app使用HBX进行开发,HBX对于vue语法等支持可以说是比较完备了。

使用mpvue和uni-app开发小程序分别有什么优点跟缺点

mpvue基于vue,优化了vue的runtime和compiler实现,以前常用来开发小程序,后来停止维护了。uniapp生态更广,也有云开发,但由于多端兼容,所以有时针对个别平台处理的配置项较多

uni-app开发 node和vue基础

具体安装步骤和流程

小程序开发入门

Node.js 详解

node.js是什么?

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

Node.js 的发展历程

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。

介绍

Node.js 是一个非常新兴的开发工具,它诞生自 2009 年,年龄远不如 Python、Ruby、PHP 等老大哥,但是它确实有史以来发展最快的开发工具,没有之一。在这短短的几年间,我们看到了 Node.js 从当初的一无所有到如今的飞速发展,这是没有任何其他开发工具能够媲美的。

作者

Ryan Dahl,网名 ry,虽然如今已经没有多少人了解这一名字。是的,他就是 Node.js 的亲爹,我们依稀还记得那个安装 Node.js 需要执行这行命令的日子。

名字的由来

其实 Node.js 最开始叫 「Web.js」(发布之前),后来因为 API 设计越来越庞大,ry 和他的团队依稀感觉到Web.js 已经过于狭隘了,于是就有了现在的名字。

Vue.js详解

Vue.js是什么?

Vue.js是一款流行的JavaScript前端框架,一个用于创建用户界面的开源JavaScript框架,旨在更好地组织与简化Web开发。Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。

学习网站:

Node.js 和 Vue.js 的区别

一个是前端框架,一个是服务端语言。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

Node.js 的包管理器 npm,是全球最大的开源库生态系统。

Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现- 响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。

另一方面,当与单文件组件和 Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

vue和uniapp哪个好

VUE做PC端的 uniapp做移动端的,而且uniapp就是基于vue设计的,没有谁好

uniappvue3vue2性能

新版 uni-app 框架主要做了三大改进:

重写框架内核:基于vue3 + ts重写内置组件和API,实现更彻底、更高效的tree-shaking;

新增支持 Vite 构建工具,在H5平台实现秒开预览;

新增支持 Vue3.x,实现更灵活的开发方式,及更高的运行性能;

基于这三大改进,uni-app项目获得了多快好省四大收益:

更多的语法支持,支持组合式API,业务聚焦,开发效率更高;

更快的编译速度,H5平台十倍加速,小程序、App加速30%以上;

更好的运行性能,用户端响应更快,体验更好;

更小的代码体积,瘦身30%以上,更省体积、更省流量

更多的语法支持

新版uni-app支持Vue 3.x框架,支持组合式API,可实现更聚焦的业务开发。

Vue 3.x的一些新增特性,uni-app也已经完全支持,如:

支持script setup

支持style scoped、style module、State-Driven Dynamic CSS(v-bind)

支持jsx、tsx(h5,app 平台支持,小程序不支持)

另外,在小程序平台,新版uni-app也扩展了更多的语法,如:

更完善的模板语法支持(如 class、style 支持函数、变量等,不再局限数组、对象类型)

更完整的 props 支持(如传递函数)

更完善的 slot 支持(如作用域插槽)

更快的编译速度

开发者日常工作中,最无聊的就是等待编译构建。

某乎上还有一个”程序员在等待编译的时候都做什么?“的讨论帖,可见编译时间对开发者而言,是一个多么尴尬无聊的碎片时间。

uni-app本次升级vue3 Vite后,在编译时间上有多少改进?带给开发者多少福利?我们安排真实测试,以数据说话。

测试环境说明:

硬件:RedmiBook 14 二代

处理器:Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz

内存:16.0 GB

操作系统:Windows 11 专业版 64 位操作系统

关于编译速度,我们做了两个维度的对比:

纵向对比:挑选uni-app常用项目模板,在H5、小程序、App平台,分别测试vue 2.6和vue 3.x的编译时间

横向对比:使用业内优秀的其它跨端框架,创建默认项目模板,记录其编译时间,和uni-app的vue 3.x版本进行对比

uni-app 历史版本纵向对比

我们选择uni-app默认模板、uni-starter、hello-uniapp三个项目模板,分别测试vue 2.6和vue 3.x的编译时间。

uni-app项目编译时间的采集方式:

vue 2.6版本编译时间 = webpack 的 stats.endTime - stats.startTime

vue 3.x版本编译时间 = 构建工具入口处记录 global.vite_start_time = performance.now(),构建工具编译完成时:performance.now() - global.vite_start_time

H5平台

对uni-app的三个项目模板分别运行到H5平台,进行多次编译测试,并求其均值后,获得如下数据:

由此,我们可以观察到:

在vue 2.6环境下,随着项目复杂度的提升,H5首页预览所需编译时间会直线增加;这是因为在vue 2.6版本下,虽然仅预览首页,但依然会使用 webpack 编译整个项目资源;故项目越复杂,编译时间越长;

在vue 3.x环境下,H5首页预览的编译时间跟项目复杂度也有关系,但增幅不大;这是因为在vue 3.x版本下,使用 Vite 进行构建,预览首页时仅编译首页及首页所依赖资源,不会编译其它页面资源。

通过图表对比,我们可以直观得出结论:vue 3.x环境下的首页编译时间,平均不到vue 2.6环境下的十分之一。

换言之,vue 3.x版本下的首页编译速度,相比vue 2.6版本,有十倍效率提升。

这个十倍效率提升,主要得益于新版采用Vite作为构建工具,由此带来了两大好处:

使用原生 ESM 文件,无需打包,实现极速的服务启动;

预览(运行)使用esbuild作为打包工具,相比vue 2.6环境下的webpack,构建速度快 10-100 倍(这不是我们夸大,详见esbuild)

本着这个十倍效率提升,小伙伴们还不赶紧上手试试?

小程序平台

对uni-app的三个模板项目运行到小程序平台,多次编译测试,并求其均值后,获得如下数据:

从上图对比数据来看,我们可以得出结论:小程序平台,vue 3.x版本下的运行编译,相比vue 2.6版本,编译性能至少提升30%;且项目越复杂,编译性能提升越明显,可以达到40% ~ 50%。

App平台

对uni-app的三个项目模板继续运行到App平台,多次编译测试,并求其均值后,获得如下数据:

从上图对比数据来看,我们可以得出结论:App平台,vue 3.x版本下的运行编译,相比vue 2.6版本,编译性能提升将近50%。

虽没有H5平台的十倍效率提升那么刺激,但将近50%的速度提升,经常开发小程序/App的小伙伴,还不心动?

业内优秀框架横向对比

除了采用不同版本的uni-app进行纵向对比外,我们还使用业内优秀的跨端框架Taro,创建空的项目模板,进行横向对比测试。

具体测试方案:

安装Taro的最新cli,本文测试时使用的版本为"@Tarojs/Taro": "3.3.16"

使用Taro init命令,分别选择react、vue、vue3框架,创建三个默认项目模板,三个项目名称分别为taro3-react、taro3-vue、taro3-vue3,如下图:

使用npm run dev:h5,运行到H5平台进行预览,记录每次预览编译时间,重复执行,求其均值

关于Taro编译时间的计算方案:

开发一个Taro扩展插件,插件规范参考Taro官网 - 插件功能

在ctx.onBuildStart中记录开始编译时间

在ctx.onBuildFinish中记录编译结束时间

两者的时间差,即为编译过程消耗时间

然后使用uni-app的cli命令行,创建基于vue3.x的空项目模板,项目命名为uni-app-vue3。

我们使用各自框架的命令行,将如上创建的5个项目分别编译到H5平台和小程序平台,多次测试,并求其均值。

同框架版本在H5平台上的编译时间,结果如下:

从图中可以看出,uni-app的vue3版本,在H5平台上的首页编译预览性能是遥遥领先的。这个遥遥有多远呢?这么讲吧,你都编译20次了,友商第一次还没完呢。

继续编译到小程序平台,多次测试,求其均值,结果如下:

从图中可以看出,uni-app的vue3版本,在小程序平台上的编译性能也是遥遥领先的,这个遥遥也不近。

更好的运行速度

开发环节编译快了,那面向最终用户的软件,运行性能怎么样?

我们进入性能测试章节。

测试方案:

开发内容:开发一个仿微博小程序首页的复杂长列表,支持下拉刷新、上拉翻页、点赞。

界面如下:

测试机型:小米 Mi 10 pro、MIUI 12.5 (21.11.3 开发版) 、微信版本 8.0.16

准备工作:每次开始测试前,杀掉各App进程、清空内存,保证测试机环境基本一致;每次从本地读取静态数据,屏蔽网络差异。

评测点:长列表中的某个组件,比如点赞组件,点击时是否能及时的修改未赞和已赞状态?

测试计时方式:

选中某微博,点击“点赞”按钮,实现点赞状态状态切换(已赞高亮、未赞灰色),

点赞按钮 onclick函数开头开始计时,setData回调函数开头结束计时;

在小米手机上进行多次测试,求其平均值,结果如下:

记录条数 200 400 600 800 1000

vue2 30ms 43ms 56ms 72ms 90ms

vue3 8ms 9ms 9ms 8ms 9ms

从表格中可以看出:

随着页面记录的增加,vue 2.6版本的uni-app项目,点赞组件响应时间快速增加,响应越来越慢;

基于vue 3.x的uni-app项目,点赞组件的响应时间跟页面条数无关,一直保持极高的响应灵敏度,性能体验远高于vue 2.6版本。

从这个常见的长列表组件响应实验来看,vue 3.x的性能体验要远高于vue 2.6版本。

更小的代码体积

项目发行后的代码体积,是一个很重要的考量指标:

H5平台:更小的代码体积,可以帮助开发者节省服务端带宽及CDN流量,可实现更快的资源加载及页面渲染;

小程序平台:更小的代码体积,可加速小程序包的下载(甚至可能免了分包加载的繁琐),帮助用户更快进入小程序业务界面;

App平台:更小的代码体积,可实现更快的App启动,帮助用户更快进入App首页

为了测试vue 3.x新版升级后,代码体积的变化,我们同样做了两个维度的测试:

纵向对比:选择uni-app常用项目模板,在H5、小程序、App平台,分别测试vue 2.6和vue 3.x的编译包大小

横向对比:使用业内优秀的其它跨端框架,创建默认项目模板,记录其编译后的包体积大小,和uni-app版本进行对比

Tips:

开发阶段重在编译速度,对应npm run dev操作

发行阶段重在编译包大小,对应npm run build操作

uni-app 不同版本纵向对比

我们复用之前创建的uni-app默认模板、uni-starter、hello-uniapp三个项目模板,分别测试vue 2.6和vue 3.x的编译包体积。

uni-app项目编译包体积的采集方式:编译到对应平台后,记录编译后文件夹的大小。

H5平台

H5平台编译后代码体积记录如下:

从统计结果来看,uni-app的vue3.x版本,在H5平台上的编译包体积至少瘦身30%以上。

H5平台的瘦身优化,主要得益于uni-app框架的底层全面重构,实现了更彻底的摇树优化。

小程序平台

小程序平台编译后代码体积记录如下:

从统计结果来看,uni-app的vue3.x版本,在小程序平台上也有大幅瘦身。

vue开发和uniapp开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于uniapp和vue有什么区别、vue开发和uniapp开发的信息别忘了在本站进行查找喔。

扫码二维码