uni-app介绍_uniapp-程序员宅基地

技术标签: uni-app  

一、什么是uni-app?

二、uni-app的特点与优势

三、开发工具

四、新建一个项目

五、UniAPP 初始化相关配置

 六、项目运行

 七、uni-app的生命周期

一、什么是uni-app?

Uni-app是一个跨平台开发框架,可以帮助开发者快速构建多端应用,包括Web、iOS、Android、H5、小程序等。Uni-app的特点是使用Vue.js作为开发语言,可以在不同的移动端平台上共享组件库和业务逻辑代码,大大提高了开发效率和代码重用率。同时,Uni-app提供了丰富的原生API和插件来实现更多功能。

二、uni-app的特点与优势

uni-app的特点

跨平台开发

uni-app可以实现一次编码,同时生成多个应用程序,包括iOS、Android、H5、小程序等。开发者只需要使用Vue.js框架进行开发,而不需要考虑不同平台的差异,大大降低了应用程序的开发难度和复杂度。

统一的开发语言和工具

uni-app的开发语言是Vue.js,它是一种基于组件化开发的前端框架,易于学习和使用。uni-app提供了一套完整的开发工具,包括Uni-app Cli、HBuilder X等,使得开发者可以在同一个环境下进行开发、调试和打包。

独特的基于条件编译的代码生成技术

uni-app采用了一种名为“基于条件编译的代码生成技术”,能够根据应用程序平台的不同,编译出特定的应用程序代码。开发者只需要编写一份代码,就可以生成多个应用程序,大大提高了开发效率。

多种组件库支持

uni-app支持多种UI组件库,包括Vant、Mint UI、uView等,开发者可以根据自己的需求选择适合的组件库,快速构建应用程序。

uni-app的优势

减少开发成本和时间、一次开发,多端部署、良好的性能和用户体验、开放的生态系统。

三、开发工具

  1. Hbuilderx
  2. 微信开发者工具 
  3. 安卓模拟器

四、新建一个项目

  1. 点击HbuilderX菜单栏文件>项目>新建
  2. 选择uni-app,填写项目名称,项目创建的目录
  3. 点击创建,创建项目

五、UniAPP 初始化相关配置


(1)工程目录结构
┌─components uni-app组件目录
│ └─comp-a.vue 可复用的a组件
├─hybrid 存放本地网页的目录(自建)
├─platforms 存放各平台专用页面的目录(自建)
├─pages 业务页面文件存放的目录
│ ├─index
│ │ └─index.vue index页面
│ └─list
│ └─list.vue list页面
├─static 存放应用引用静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─wxcomponents 存放小程序组件的目录(自建)
├─common 公共资源(自建)
├─api 请求封装(自建)
├─store 状态管理(自建)
├─main.js Vue初始化入口文件
├─App.vue 应用配置,用来配置App全局样式以及监听 应用生命周期
├─manifest.json 配置应用名称、appid、logo、版本等打包信息
└─pages.json 配置页面路由、导航条、选项卡等页面类信息
提示:

static下目录的 js 文件不会被 webpack 编译,里面如果有 es6 的代码,不经过转换直接运行,在手机设备上会报错。
所以less、scss等资源同样不要放在 static 目录下,建议这些公共的资源放在 common目录下
(2)应用配置 manifest.json
manifest.json 文件是应用的配置文件,用于指定应用的名称、图标、权限等,我们也可以在这里为 Vue 为H5 设置跨域拦截处理器

(3)编译配置 vue.config.js
vue.config.js 是一个可选的配置文件,如果项目的根目录中存在这个文件,
那么它会被自动加载,一般用于配置 webpack 等编译选项。
官方文档

(4)全局配置 page.json
pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。它类似微信小程序中app.json的页面管理部分。

 六、项目运行

在菜单栏中点击运行,运行到浏览器,选择浏览器即可运行

在微信开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到小程序模拟器 -> 微信开发者工具,即可在微信开发者工具里面体验uni-app

在微信开发者工具里运行:进入hello-uniapp项目,点击工具栏的运行 -> 运行到手机或模拟器 -> 选择调式的手机

 七、uni-app的生命周期

vue生命周期:
beforeCreate:创建前,没有this
created:创建后;此时已经有了this,我们可以做的是发起ajax请求,监听事件,设置定时器
beforeMounte:挂在前,此时只有虚拟dom
mounted:挂载后;此时我们可以操作dom
beforeUpdate:更新前
updated:更新后
beforeDestroy:销毁前;可以做的是移除监听事件,移除定时器
小程序生命周期:
onLoad:加载类似于vue中的created生命周期
onShow:页面显示时执行
onReady:准备
onHide:后台运行时执行
onUnload:卸载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_63526054/article/details/130849946

智能推荐

C++/Qt:C++test单元测试框架_c++test 单元测试-程序员宅基地

文章浏览阅读1.2w次,点赞10次,收藏67次。本文简要描述了如何在C++test中进行mingw环境下qt的单元测试方法,以及一些c++test的使用小技巧。_c++test 单元测试

Spring Boot + flowable 快速实现工作流,好用到爆,Activiti 可以扔了。。-程序员宅基地

文章浏览阅读334次。点击关注公众号,回复“2T”获取2TB学习资源!互联网架构师后台回复2T有特别礼包上一篇:我设计了一个支撑数亿用户的系统背景使用flowable自带的flowable-ui制作流程图 使用springboot开发流程使用的接口完成流程的业务功能flowable-ui部署运行flowable-6.6.0 运行 官方demo参考文档:https://flowable.co..._flowable 子流程代码实现

STM32F103 之TFT显示屏动态显示数据_tft屏幕打印动态-程序员宅基地

文章浏览阅读8.9k次,点赞12次,收藏58次。之前有个朋友问过,stm32在使用TFT显示屏的时候,知道如何显示一个数据,但是类似传感器这种数据的显示,是需要实时显示的,但是不知道如何刷新,他一开始使用的是clear()清屏函数,确实有点暴力,但是效果不咋地,而且网上查了一下也似乎没有很好的解答。于是我自己去试了一下,其实我之前也不怎么用显示屏的,所以具体其他方法我也没有深入研究,不过通过查看了显示屏的一些封装函数,想到了一种解决方案,就是在显示时使用叠加模式,显示数据之后,加一个延时,画上一个遮挡区域,再显示下一个数据,这样就可以实现显示屏上显示_tft屏幕打印动态

IOS开发指南之swift字典操作_ios swift 字典-程序员宅基地

文章浏览阅读238次。4.可为空类型与动态添加键与值。_ios swift 字典

高精度计算_高精度计算为什么要倒序存储-程序员宅基地

文章浏览阅读5.2k次,点赞22次,收藏46次。重点:高精度数的读入与输出高精度数的加减乘除难点:高精度数的除法高精度计算的优化为什么要用到高精度计算?intlong longdouble等进行计算的精度只有十几位,如果要进行数十、百、千、万位的数的计算就要用到高精度计算..._高精度计算为什么要倒序存储

vue element MessageBox.prompt this.$prompt组件禁止显示右上角关闭按钮,取消按钮,及点击遮罩层关闭_this.$prompt 取消按钮-程序员宅基地

文章浏览阅读957次,点赞7次,收藏8次。vue element MessageBox.prompt this.$prompt组件禁止或取消显示右上角关闭按钮,取消按钮,及点击遮罩层关闭。_this.$prompt 取消按钮

随便推点

30分钟快速食取JDBC-程序员宅基地

文章浏览阅读173次。练习数据库来源:传送门一、认识JDBCJDBC(Java DataBase Connectivity)是Java语言连接数据库JDBC的本质JDBC是由SUN公司制定的一套接口(interface)接口都有调用者和实现者。什么是面向接口编程面向接口调用面向接口写实现类面向接口编程的特点解耦合:降低程序的耦合度,提高程序的扩展力二、JDBC开发前的准备工作...

MongoDB安装配置教程(详细版)_mongodb安装教程-程序员宅基地

文章浏览阅读3.7w次,点赞92次,收藏410次。Windows如何配置MongoDB,设置环境变量以及命令窗口启动_mongodb安装教程

CS分发结构和P2P分发结构的时间计算_p2p分发时间计算例题-程序员宅基地

文章浏览阅读6k次,点赞3次,收藏22次。考虑向N个对等方(用户)分发F=15Gb的一个文件。该服务器具有us=30Mbps的上传速率,每个对等方的下载速率di=2Mbps,上传速率为u。请分别针对客户-服务器分发模式和P2P分发模式两种情况,对于N=10、100和1000以及u=500kbps、1Mbps和2Mbps的每种组合,绘制最小分发时间图表。(注:k=10^3、M=10^6、G=10^9)答:1)对于CS分发模式,最小分..._p2p分发时间计算例题

Unity UGUI Text实现超链接点击_unity ui text 点击事件-程序员宅基地

文章浏览阅读8.3k次,点赞4次,收藏13次。一开始我在网上找这种实现方法,但是发现的确有很多,但是都有问题乱七八糟的,我就修改然后整理成可以用的了。OK,Fine.就这样。首先新建一个Text,然后删掉Text组件,并且把下面的代码拷贝然后挂载到新建的Text上。using System;using System.Collections.Generic;using System.Text;using System.Text.Re..._unity ui text 点击事件

3位十年编程大师,亲授十六种编程算法绝学,助你走上成神之路_it绝学-程序员宅基地

文章浏览阅读619次。3位十年编程大师,亲授十六种编程算法绝学,助你走上成神之路_it绝学

我的架构梦:(六十九) 消息中间件之RabbitMQ的安装与配置_logrotate rabbitmq-程序员宅基地

文章浏览阅读207次。一、安装环境1、阿里云主机2、操作系统:centos-release-7-8.2003.0.el7.centos.x86_643、Erlang:erlang-23.0.2-1.el7.x86_644、RabbitMQ:rabbitmq-server-3.8.5-1.el7.noarchRabbitMQ的安装需要首先安装Erlang,因为它是基于Erlang的VM运行的。RabbitMQ需要的依赖:socat和logrotate,logrotate操作系统中已经存在了,只需要安装socat就可以了_logrotate rabbitmq

推荐文章

热门文章

相关标签