前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅

这篇具有很好参考价值的文章主要介绍了前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅,前端,前端,uni-app,vue.js
🙂博主:小猫娃来啦
🙂文章核心:从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅

UniApp和vue.js

什么是UniApp?

UniApp是一种基于Vue.js的跨平台应用开发框架。它是由DCloud(数字天堂)开发和维护的,旨在帮助开发者使用一套代码构建同时运行在多个平台(包括iOS、Android、Web等)的应用程序。

UniApp基于Vue.js框架,使用Vue.js的语法和特性来开发应用程序。开发者可以使用熟悉的Vue.js开发方式,如组件化开发、数据驱动视图等,来构建跨平台的应用程序。与此同时,UniApp提供了一套统一的API和组件库,可以让开发者在不同的平台上进行开发,并实现对原生功能的访问。开发者可以使用JavaScript或TypeScript编写业务逻辑,然后通过编译器将代码转化为各个平台的原生代码,以实现在不同平台上的运行。

UniApp的跨平台能力是通过封装和抽象底层的原生API实现的,它提供了一套统一的API,使得开发者可以在不同平台上使用相同的代码进行开发。同时,UniApp还提供了一些平台特定的功能和组件,以满足不同平台的需求。

UniApp的写法

总结一下,UniApp写法 = vue.js语法+UniApp的Api和组件
以真实项目某一个页面为例,进行一个代码展示:

<template>
	<view>
		<button v-if="data.length == 0" @click="tel" class="wanshan">
			<view class="">
				<image src="https://pic2.imgdb.cn/item/646189fc0d2dde577757c01f.png" mode=""></image>
				用户完善信息
			</view>
		</button>
		<view class="xinxi" v-if="data.length != 0"
			style="font-size: 15px;background-color: #29D86F;height: 150px;display: flex;flex-wrap: wrap;align-content: center;justify-content: center;">
			<view style="width: 30%;height: 150px;display: flex;flex-wrap: wrap;align-content: center;justify-content: center;" class="">
				<image style="width: 100%;height: 90px;margin: 10px;border-radius: 100px;" :src="Image" mode=""></image>
			</view>
			<view class="" style="width: 70%;height: 150px;display: flex;flex-wrap: wrap;align-content: center;">
					<view class="" style="font-weight: 900;font-size: 1.2rem;margin-left: 2%;">
						{{name}}
					</view>
					<view class=""
						style="width: 90%;margin-right: 5%; font-size: .8rem; display: flex;justify-content: space-between;margin-top: 20px;">
						<view class="">
							手机号:18796456464
						</view>
						<view class="">
							详情>
						</view>
					</view>
			</view>
		</view>
		<view class="yuyue" @click="tar">
			<view class="padding">
				<view class="image">
					<image style="width: 25px;height: 25px;"
						src="/static/lan.png" mode=""></image>
				</view>
				<view style="height: 50px;display: flex;flex-wrap: wrap;align-content: center;">我的预约</view>
			</view>
			<view style="height: 50px;display: flex;flex-wrap: wrap;align-content: center;"></view>
		</view>
		<view class="yuyue">
			<view class="padding">
				<view class="image">
					<image style="width: 25px;height: 25px;"
						src="/static/lan.png" mode=""></image>
				</view>
				<view style="height: 50px;display: flex;flex-wrap: wrap;align-content: center;">住院缴费</view>
			</view>
			<view style="height: 50px;display: flex;flex-wrap: wrap;align-content: center;"></view>
		</view>
		
		<view class="dibu">
			<view @click="index">
				<view class="">
					<image src="/static/cd2.png" mode=""></image>
				</view>
				<view class="">
					首页
				</view>
			</view>
			<view>
				<view class="">
					<image src="/static/gz1.png" mode=""></image>
				</view>
				<view class="">
					个人中心
				</view>
			</view>
		</view>
		
	</view>
</template>

<script>
	export default {
		data() {
			return {
				data: [],
				Image: 'https://img1.baidu.com/it/u=1960110688,1786190632&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=281',
				name:''
			}
		},
		onShow() {
			let that = this
			that.name = uni.getStorageSync('user')
			if (uni.getStorageSync('userid') != '' || uni.getStorageSync('userid') != undefined) {
				uni.request({
					url: '接口文档的接口地址',
					data: {
						uid: uni.getStorageSync('userid')
					},
					method: 'GET',
					success: function(res) {
						that.Image = uni.getStorageSync('headimg')
						that.data = res.data.info
						console.log(res.data);
					}
				})
			}
		},
		methods: {
			tar() {
				if(uni.getStorageSync('userid') != ''&& uni.getStorageSync('userid') != undefined){
					uni.navigateTo({
						url: '/pages/yuyue/index'
					})
				}else{
					uni.showToast({
						title:'请先授权登录',
						icon:'error'
					})
				}
			},			
			tel() {
				uni.navigateTo({
					url: '/pages/info/index'
				})
			},
			index(){
				uni.navigateTo({
					url:'/pages/index/index'
				})
			}
		}
	}
</script>

<style lang="scss">
	.xinxi {
		width: 100%;
		display: flex;
	}

	.wanshan {
		width: 100%;
		height: 150px;
		background-color: #29D86F;
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		justify-content: center;
		font-weight: 1000px;
	}

	.wanshan image {
		width: 20px;
		height: 20px;
	}

	.padding {
		width: 30%;
		display: flex;
		justify-content: space-between;
		height: 50px;
		flex-wrap: wrap;
		align-content: center;
	}

	.image {
		width: 30px;
		height: 30px;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-content: center;
		border-radius: 100px;
		margin-top: 10px;
	}
	.image image{
		width: 30px;
		height: 30px;
		border-radius: 50%;
	}
	.margin {
		width: 100%;
		height: 150px;
		background-color: #29D86F;
	}

	.yuyue {
		width: 90%;
		margin-left: 5%;
		display: flex;
		justify-content: space-between;
		height: 50px;
		flex-wrap: wrap;
		align-content: center;
		border-bottom: 1px solid #e5e5e5;
	}





	.dibu{
		width: 100%	;
		position: fixed;
		bottom: 0;
		border-top: 1px solid #dfdfdf;
		display: flex;
		padding: 3% 0;
		justify-content: space-around;
		font-size: .8rem;
	}
	.dibu image:first-child{
		width: 60rpx;
		height: 60rpx;
	}
	.dibu>view>view:first-child{
		width: 150rpx;
		display: flex;
		justify-content: center;
	}
	.dibu>view>view:last-child{
		width: 150rpx;
		text-align: center;
	}
</style>

什么是vue.js?

Vue.js是一种流行的开源JavaScript框架,用于构建用户界面。它被设计为一种用于构建可复用、高效、响应式的Web应用程序的渐进式框架。

Vue.js的核心思想是通过将应用程序分解为组件化的方式来构建用户界面。每个组件包含了自己的模板、逻辑和样式,并可以根据需要进行组合和重用。这种组件化的开发方式使得Vue.js具有很高的灵活性和可维护性。

Vue.js采用了基于HTML的模板语法,使得开发人员可以直接在模板中使用数据绑定、事件处理等功能,快速地构建交互式的用户界面。Vue.js还提供了响应式的数据绑定机制,当数据发生变化时,界面会自动更新,简化了开发复杂的数据驱动应用程序的过程。

除了核心库之外,Vue.js还拥有丰富的生态系统,包括路由器、状态管理、表单验证等插件,可以帮助开发者快速构建功能完善的Web应用程序。

UniApp与vue.js是什么关系?

UniApp在底层使用了Vue.js作为其核心框架,并扩展了一些额外的API和组件,使得开发者可以方便地编写一次性代码,然后通过编译器将其转换为不同平台上的原生代码,从而实现跨平台开发。

UniApp与Vue.js之间的关系可以类比于Vue.js与浏览器的关系。

Vue.js是一个用于构建用户界面的JavaScript框架,它专注于前端开发,并提供了响应式数据绑定、组件化开发等特性。而UniApp则是在Vue.js的基础上进行扩展,使得开发者可以将Vue.js的代码用于移动端和其他平台的应用开发,大大提高了开发效率和代码复用性。


为什么不直接用vue.js开发,而选择UniApp

UniApp的优势在哪?

既然uniapp是基于vue.js的,那为什么不直接使用Vue.js开发跨平台应用,而要使用UniApp呢?
因为UniApp更有优势。
UniApp相对于纯粹的Vue.js开发跨平台应用有以下优势:

  • 跨平台能力:UniApp提供了一套统一的API和组件库,可以在多个平台上运行,包括iOS、Android、Web等。开发者只需编写一套代码,即可在不同平台上部署和运行应用,减少了开发和维护的工作量。
  • 原生功能访问:UniApp封装了底层的原生API,使得开发者可以通过统一的API访问平台特定的原生功能,如相机、地理位置、文件系统等。这样开发者可以在跨平台应用中使用原生功能,提供更好的用户体验。
  • 性能优化:UniApp在底层做了一些性能优化,如虚拟DOM渲染、异步渲染等,以提高应用的性能和响应速度。
  • 社区和生态系统:UniApp拥有庞大的开发者社区和丰富的生态系统,可以提供各种插件、组件和解决方案,方便开发者快速开发和解决问题。
  • 开发效率:UniApp采用了Vue.js的开发方式和语法,开发者可以使用熟悉的Vue.js开发技术栈,减少学习成本和开发周期。

vue3和UniApp

前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅,前端,前端,uni-app,vue.js

vue3比vue2优秀,如果用vue3写法来写UniApp,肯定会更好。但就现阶段而言,UniApp中很少见到vue3的写法,但是某些论坛和开发者社区中有大牛会用vue3来尝试。

目前在UniApp中较少使用Vue 3的主要原因是UniApp还没有完全支持Vue 3。虽然Vue 3已经发布,但由于Vue 3引入了一些重大的改进和变化,与Vue 2存在一些不兼容之处,因此需要相应的调整和适配。

UniApp团队正在积极地进行Vue 3的适配工作,以确保UniApp能够与Vue 3兼容并支持其新的特性和语法。然而,由于Vue 3的变化较大,适配工作需要一定的时间和精力。

此外,Vue 2在使用UniApp开发跨平台应用方面已经得到了广泛的应用和验证,许多开发者已经掌握了Vue 2的开发技能和经验,并且已经使用Vue 2开发了许多UniApp应用。因此,在Vue 3的适配工作完成之前,开发者会倾向于继续使用Vue 2来开发UniApp应用,以保持开发的稳定性和一致性。

展望与准备

目前来看,UniApp在跨平台开发领域有着广泛的应用和较高的市场份额。

虽然UniApp目前在跨平台开发中表现出色,但技术发展是一个不断变化的过程,未来肯定会有新的技术涌现,并可能有一些技术能够在某些方面提供更好的解决方案。因此,不能完全排除其他技术会取代UniApp的可能性

虽然可能会有其他技术或者新概念横空出世,但目前的UniApp仍然是一种强大且成熟的跨平台开发框架,为开发者提供了高效、便捷的应用开发方式。如果你正在考虑使用UniApp进行开发,可以继续关注该框架的更新和发展,同时也可以留意其他新技术的出现。

没有任何一种技术可独霸武林,如果现有技术可以支持现有开发,并能不断更新,那自然是最好的,毕竟UniApp是中国的,爱国情怀还是有的。但看待技术的迭代要理智和冷静。不管未来技术如何变革,最重要的是人,我们作为开发者应在变化中找到不变的点,以不变应万变,我想这才是真正解决问题的能力与个人的价值体现。

前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅,前端,前端,uni-app,vue.js文章来源地址https://www.toymoban.com/news/detail-570971.html


到了这里,关于前端(五)——从 Vue.js 到 UniApp:开启一次全新的跨平台开发之旅的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端移动端开发分类及跨平台开发框架简述

    前端移动端主流分为以下三种:Native App ,Hybrid App ,Web App 优点: (1)用户体验好 (2)性能稳定 (3)操作速度快 (4)能够访问本地资源(通讯录,相册) (5)能够设计出色的动效,转场 (6)拥有系统级别的贴心通知或提醒 (7)用户留存率高 缺点: (1)开发成本高

    2024年02月04日
    浏览(77)
  • 前端跨平台开发框架:简化多端开发的利器

    🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_ CSDN 博客专家、23年度博客之星前端领域TOP1 🕠 牛客 高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课 签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你

    2024年03月17日
    浏览(75)
  • 【前端进阶】跨平台开发与原生应用:技术融合的未来

    在移动设备的快速普及和大规模应用的背景下,开发应用程序的跨平台能力已成为前端开发人员不可或缺的技能。跨平台开发允许我们使用统一的代码库构建应用程序,同时在多个平台上实现原生应用的性能和体验。在本文中,我们将探讨跨平台开发的概念、优势以及目前流

    2024年02月11日
    浏览(86)
  • 跨平台开发神器如何在Uniapp中使用WebView实现与Web页面的通讯!

    Uniapp 是一个跨平台的开发框架,可以同时开发出 iOS、Android、H5 等多个平台的应用。在开发过程中,我们可能需要与 Web 页面进行通讯,这时可以使用 WebView 组件来实现。 本教程将介绍如何在 uniapp 中使用 WebView 组件与 Web 页面进行通讯。 首先,我们需要创建一个 uniapp 项目。

    2024年02月09日
    浏览(61)
  • C#winform软件实现一次编译,跨平台windows和linux兼容运行,兼容Visual Studio原生界面Form表单开发

    微软的.net core开发工具,目前来看,winform界面软件还没有打算要支持linux系统下运行的意思,要想让c#桌面软件在linux系统上运行,开发起来还比较麻烦。微软只让c#的控制台软件支持在linux运行。 我想到的一个方案是自定义封装软件的System.Windows.Forms组件,把支持windows和lin

    2024年02月08日
    浏览(65)
  • web前端项目使用electron打包成跨平台桌面端程序(Windows)

    Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 在使用Electron进行开发之前,您需要安装 Node.js。 我们建

    2024年02月16日
    浏览(82)
  • 私藏工具分享 300+++ 编程使用工具,js、css、动画插件、可视化、文件操作、音视频、智能化、编辑器、2D3D、其他常用工具、跨平台框架、代码工具、图像工具、文件转换、vue3生态、后端常用插件

    目录 Javascript 工具 可视化 动画插件 文件操作 音视频 智能化 编辑器 2D 3D 其他常用js 跨平台 框架 Flutter Electron Uniapp CSS 动画 工具 UI 编程工具 代码工具 图像工具 文件转换 Vue3生态工具 1.Web UI库 2.移动UI库 3.相关工具 4.可视化 5.插件 6.相关生态 7.动画 8.音视频 全栈-后端 插件

    2024年02月21日
    浏览(80)
  • 用uniapp跨平台开发一款商用的ai绘图ai作画软件的全过程

    随着科技的发展,人工智能将会是以后的主流方向,ai绘图、chatgpt高科技先后出台,都获得了火爆的发展,因此想借着势头开发一款主打ai绘图的app+小程序 一、前期准备 1、选定技术框架 因为后面需要多平台发布,而尽可能减少开发成本,因此选定了uniapp框架作为开发框架,

    2024年02月13日
    浏览(70)
  • 使用electron-vite +Vue+ElementPlus开发跨平台桌面应用

    我们的项目是基于Elasticsearch来进行数据的存储与查询的,使用过ES的朋友应该都比较清楚,现在还没有一个比较友好的ES的桌面客户端软件可以和MySQL的桌面客户端软件媲美的,使用ES起来非常麻烦,经常会被吐槽的三个点: 资深测试吐槽:为什么技术选型要选择ES,增删改查

    2023年04月09日
    浏览(91)
  • tauri-vue:快速开发跨平台软件的架子,支持自定义头部UI拖拽移动和窗口阴影效果

    一个使用 tauri+vue+ts 开发跨平台软件的模板,支持窗口头部自定义 UI 和拖拽和窗口阴影,不用再自己做适配了,拿来即用,非常 nice。而且已经封装好了 tauri 的 http 请求工具,省去很多弯路。开源地址:GitHub - Sjj1024/tauri-vue: 一个使用tauri和vue开发跨平台软件的架子 使用到的技

    2024年02月12日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包