uni-app--》什么是uniapp?如何开发uniapp?

Posted 亦世凡华、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app--》什么是uniapp?如何开发uniapp?相关的知识,希望对你有一定的参考价值。

🏍️作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名在校大学生

🛵个人主页:亦世凡华、

🛺系列专栏:uni-app

🚲座右铭:人生亦可燃烧,亦可腐败,我愿燃烧,耗尽所有光芒。

👀引言

        ⚓经过web前端的学习,相信大家对于前端开发有了一定深入的了解,今天我开设了uni-app专栏,主要想从移动端开发方向进一步发展,而对于我来说写移动端博文的第二站就是uni-app开发,希望看到我文章的朋友能对你有所帮助。

目录

uni-app概述

uni-app的特点与优势

创建uni-app项目并使用

初始化配置

在uni-app中编写vue代码


uni-app概述

大前端时代背景下,前端开发人员掌握单一的 Web端开发能力已经远远不够了,微信小程序、安卓APP、iosAPP,甚至是Windows 桌面端,还有最近出的鸿蒙系统开发,都成了我们成长需要掌握的技能。目前市面上各种「跨平台」开发解决方案层出不穷,比较有代表性的就是:uni-app 、Flutter、React Native、Taro、Weex等等。

uni-app 是基于「Vue+微信小程序」语言体系,开发人员学习成本低上手快,同时随着如今uni-app生态也逐步趋于成熟。所以,基于uni-app开发多端项目,已经是很多中小型企业常用的技术解决方案。其官网为:uni-app官网

学习uni-app需要掌握的知识有哪些

掌握 html、CSS、JS基础,能够构建静态界面

掌握 Vue 基础,能够熟练使用脚手架构建应用

掌握微信小程序基础,对微信小程序组件、API服务有一定的了解

如果想去编写uni-app程序,选择什么编译器比较好呢?这里博主推荐使用的工具是 HBuilder ,不是说其它工具不行,而是这个工具是专门书写uni-app的工具,官方也是极力推荐我们使用的,具体安装过程就不再赘述,可以参考官方文档,如下:

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的优势

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

那么微信小程序和uni-app之间的区别到底是什么呢?异同点是啥

相同点

页面标签基本相同:使用的基本都是类型 view、text、input、picker、swiper标签等等。

api基本相同,wx换成uni即可:原生写法:wx.request;uniapp写法:uni.request。

生命周期函数相同:使用都是:onLoad,onPullDownRefresh、onReachBotton等等。

不同点

点击事件写法不同:原生小程序是bindtap,uniapp是@click。

传参方式不同:原生写法是data-xxx,uni-app是@click="click(xxx)"。

创建uni-app项目并使用

下载好工具之后,点击 文件 -> 新建 -> 项目,出现以下界面供我们进行选择,如下:

选择我们要创建的 uni-app选项,并配置好相关信息,选择默认模板即可,如下生成默认代码:

生成的代码文件的具体效果如下:

┌─uniCloud              云空间目录,阿里云为uniCloud-aliyun,腾讯云为uniCloud-tcb(详见uniCloud)
│─components            符合vue组件规范的uni-app组件目录
│  └─comp-a.vue         可复用的a组件
├─utssdk                存放uts文件
├─pages                 业务页面文件存放的目录
│  ├─index
│  │  └─index.vue       index页面
│  └─list
│     └─list.vue        list页面
├─static                存放应用引用的本地静态资源(如图片、视频等)的目录,注意:静态资源只能存放于此
├─uni_modules           存放[uni_module](/uni_modules)。
├─platforms             存放各平台专用页面的目录,详见
├─nativeplugins         App原生语言插件 详见
├─nativeResources       App端原生资源目录
│  └─android            Android原生资源目录 详见
├─hybrid                App端存放本地html文件的目录,详见
├─wxcomponents          存放小程序组件的目录,详见
├─unpackage             非工程代码,一般存放运行或发行的编译结果
├─AndroidManifest.xml   Android原生应用清单文件 详见
├─main.js               Vue初始化入口文件
├─App.vue               应用配置,用来配置App全局样式以及监听 应用生命周期
├─manifest.json         配置应用名称、appid、logo、版本等打包信息,详见
├─pages.json            配置页面路由、导航条、选项卡等页面类信息,详见
└─uni.scss              这里是uni-app内置的常用样式变量

我们可以点击编辑器上方的运行菜单,可以让项目运行在浏览器当中:

第一次运行需要下载相关插件,等待自动安装即可,运行在浏览器的界面如下:

当然后期如果你想要在更多的平台进行运行的话,推荐去 工具 -> 插件安装 上的插件市场进行安装相关插件,里面的各种插件能够满足你所想到的任何需求,如下:

如果想运行小程序,需要先下载微信开发者工具,然后点击微信开发者的安全设置并将服务端口打开,如下:

使用真机或模拟器的话比较繁琐,这里就不再赘述,后期用到的话再进行讲解。

初始化配置

在项目开始之前,可以对项目进行简单的初始化配置,如下:

应用配置:manifest.json

manifest.json文件是应用的配置文件,用于指定应用的名称、图标、权限等,我们也可以在这里为Vue为H5设置跨域拦截处理器。

编译配置:vue.config.js

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

全局配置:page.json

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

pages         // 设置页面路径及窗口表现
globalStyle   // 设置默认页面的窗口表现
easycom       // 组件自动引入规则
tabBar        // 设置底部 tab 的表现
condition     // 启动模式配置
subPackages   // 分包加载配置
preloadRule   // 分包预下载规则

全局样式:uni.scss

uni.scss文件的用途是为了方便整体控制应用的风格。比如按钮颜色、边框风格, uni.scss文件里预置了一批scss变量预置.uni-app官方扩展插件(uni ui)及插件市场上很多三方插件均使用了这些样式变量,如果你是插件开发者,建议你使用scss 预处理,并在插件代码中直接使用这些变量〈无需import这个文件),方便用户通过搭积木的方式开发整体风格一致的App。
uni.scss是一个特殊文件,在代码中无需import这个文件即可在scss代码中使用这里的样式变量。uni-app的编译器在webpack配置中特殊处理了这个uni.scss,使得每个scss 文件都被注入这个uni.scss,达到全局可用的效果。如果开发者想要less、stylus的全局使用,需要在vue.config.js中自行配置webpack策略。

在uni-app中编写vue代码

uni-app使用的框架类型与vue及其类似,因为我在刚创建项目的时候选取的是vue2的语法,所有创建基础文件的时候,生成的模板代码便是vue2的语法,接下来删掉原本的代码,可以简单的测试一下,如下:

如果想创建一个新的页面文件的话,可以右键pages新建页面文件,如下:

新建的页面其页面路径会自动添加到pages.json文件当中,如下:

如果想设置文件的导航区域样式,可以参考官网给出的函数,如下:

uni-app怎么进行上线?

uni-app怎么进行上线

    提前申请和准备要要用的证书

    用HBuilderX打正式包。

    1)要在manifest.json里面配置App图标和启动图片

    2)App图标尺寸:png 格式图片 256*256

 启动图片尺寸:png 格式图片 480762 7201242 1080*1882

3. app上架材料梳理:

一般看个人要求,在腾讯、华为、小米各个平台上线。

每个平台都要注册开发者账号,用企业信息注册,注意开发者账号公司和软著要一致,否则华为、腾讯会让你重新按软著上的公司名称注册开发者账号。小米要提供一个代理授权书。

1)共同提交的材料:

1.公司名称

2.公司营业执照、其中百度需要营业执照复印件并且在文字的地方加盖公章。

3.企业法人身份证照片(正反两面),其中百度另外要求上传手持身份证照片(正反两面)。

4.企业对公账号,其中华为和小米打钱验证,利用金额进行验证。

5.企业地址。

2) 提交应用审核资料:

1.软著,jpg,png,pdf,3种格式。

2.企业营业执照,pg,png,pdf,种格式。

3.图标,尺寸不一致。216216 jpg 512512 jpg

4.应用内截图,多截几张,最后用测试账号截图。

5.应用简介和应用描述。

9.icp备案截图。

7.如果软著公司和开发者账号不一致,需要提供代理授权书,签字盖章。

8.隐私政策网址。

上架成功后需要在各个商城自行下载。

参考技术A uni-app和flutter这是两款十分优秀的产品,几乎做到了各自领域性能和跨平台的极致。uni-app 是一个使用 vue.js开发前端应用的框架,开发者编写一套代码,可编译到iOS、Android、H5、以及各种小程序等多个平台。Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。下面我们将简单的介绍一下flutter和uniapp这两款产品跨平台产品有什么区别:技术学习成本和难度flutter,要求开发者学习dart,了解dart和flutter的API、要求精通flex布局,要求原生开发协作。uni-app,要求开发者学习vue,了解小程序。很明显uni-app的学习成本太低了,它没有附加专有技术,全部使用公共技术。学习成本和难度,直接意味着:开发成本、招聘成本、上线速度、上线风险。 参考技术B uni-app和flutter这是两款十分优秀的产品,几乎做到了各自领域性能和跨平台的极致。uni-app 是一个使用 vue.js开发前端应用的框架,开发者编写一套代码,可编译到iOS、Android、H5、以及各种小程序等多个平台。Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。下面我们将简单的介绍一下flutter和uniapp这两款产品跨平台产品有什么区别:技术学习成本和难度flutter,要求开发者学习dart,了解dart和flutter的API、要求精通flex布局,要求原生开发协作。uni-app,要求开发者学习vue,了解小程序。很明显uni-app的学习成本太低了,它没有附加专有技术,全部使用公共技术。学习成本和难度,直接意味着:开发成本、招聘成本、上线速度、上线风险。 参考技术C uni-app和flutter这是两款十分优秀的产品,几乎做到了各自领域性能和跨平台的极致。uni-app 是一个使用 vue.js开发前端应用的框架,开发者编写一套代码,可编译到iOS、Android、H5、以及各种小程序等多个平台。Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。下面我们将简单的介绍一下flutter和uniapp这两款产品跨平台产品有什么区别:技术学习成本和难度flutter,要求开发者学习dart,了解dart和flutter的API、要求精通flex布局,要求原生开发协作。uni-app,要求开发者学习vue,了解小程序。很明显uni-app的学习成本太低了,它没有附加专有技术,全部使用公共技术。学习成本和难度,直接意味着:开发成本、招聘成本、上线速度、上线风险。 参考技术D uni-app和flutter这是两款十分优秀的产品,几乎做到了各自领域性能和跨平台的极致。uni-app 是一个使用 vue.js开发前端应用的框架,开发者编写一套代码,可编译到iOS、Android、H5、以及各种小程序等多个平台。Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。下面我们将简单的介绍一下flutter和uniapp这两款产品跨平台产品有什么区别:技术学习成本和难度flutter,要求开发者学习dart,了解dart和flutter的API、要求精通flex布局,要求原生开发协作。uni-app,要求开发者学习vue,了解小程序。很明显uni-app的学习成本太低了,它没有附加专有技术,全部使用公共技术。学习成本和难度,直接意味着:开发成本、招聘成本、上线速度、上线风险。

以上是关于uni-app--》什么是uniapp?如何开发uniapp?的主要内容,如果未能解决你的问题,请参考以下文章

uniapp框架uView多平台快速开发的UI框架

基于ios的网上商城可以用uni-app嘛

uniapp和graceUI介绍

uni-app使用腾讯地图(三)

uni-app上传头像/更改头像

uni-app怎么进行上线?