目录

前言 - 课程介绍

一、课程背景

二、学前须知

三、课程大纲

UniAPP 快速入门学习

一、UniAPP 介绍

(1)什么是 UniAPP ?

(2)为什么要选择 UniAPP ?

(3)UniAPP 开发环境搭建

二、UniAPP 初始化相关配置

(1)应用配置 manifest.json

(2)编译配置 vue.config.js

(3)全局配置 page.json

(4)全局样式 uni.scss

(5)主组件 App.vue

(6)入口文件 main.js

三、UniAPP 常用组件简介

四、UniAPP 常用 API 简介


前言 - 课程介绍

一、课程背景

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

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

那么,今天呢,我们就从 UniAPP 基础开始,对照企业级实践标准,从零到一,一步一步打造一个 多端(微信小程序 + H5 + 安卓 APP + IOS APP)的社区论坛类项目。

二、学前须知

学前须知:

  1. 掌握 HTML、CSS、JS基础,能够构建静态页面
  2. 掌握 Vue 基础,能够使用脚手架构建应用
  3. 掌握微信小程序基础,对微信小程序组件、API服务有一定的了解

三、课程大纲

课程简介:

  1. 课程大纲介绍
  2. 实战项目介绍

UniAPP 快速入门学习

一、UniAPP 介绍

(1)什么是 UniAPP ?

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 iOS、Android、H5,以及各种小程序(微信/支付宝/百度/头条/ QQ /钉钉)等多个平台,方便开发者快速交付,不需要转换开发思维,不需要更改开发习惯。

(2)为什么要选择 UniAPP ?

  1. 开发者/案例数量更多

几十万应用、uni 统计月活12亿、70+ 微信 / QQ群

  1. 平台能力不受限

在跨端的同时,通过条件编译 + 平台特有 API 调用,可以优雅的为某平台写个性化代码,调用专有能力而不影响其他平台

  1. 性能体验优秀

加载新页面速度更快、自动 diff 更新数据,App 端支持原生渲染支撑更流畅的用户体验,小程序端的性能优于市场其他框架

  1. 周边生态丰富

插件市场数千款插件,支持 NPM、支持小程序组件和SDK,微信生态的各种 sdk 可直接用于跨平台 APP

  1. 学习成本低

基于通用的前端技术栈,采用 vue 语法+微信小程序 api,无额外学习成本

(3)UniAPP 开发环境搭建

  1. 下载开发工具 HBuilderX

HBuilderX 是通用的前端开发工具,但为uni-app做了特别强化。

下载 App 开发版,可开箱即用;如下载标准版,在运行或发行uni-app时,会提示安装uni-app插件,插件下载完成后方可使用

  1. 创建 uni-app 项目

选择uni-app类型,输入工程名,选择模板,点击创建,即可成功创建。

uni-app自带的模板有 Hello uni-app ,是官方的组件和API示例。

还有一个重要模板是 uni ui项目模板,日常开发推荐使用该模板,已内置大量常用组件。

  1. 运行 uni-app

主要包括:浏览器运行、真机运行、小程序运行等

  1. 发布 uni-app 主要包括:云端原生 APP 、离线原生 APP、H5、各种小程序

二、UniAPP 初始化相关配置

(1)应用配置 manifest.json

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

(2)编译配置 vue.config.js

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

(3)全局配置 page.json

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

(4)全局样式 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策略。

(5)主组件 App.vue

App.vue是uni-app的主组件,所有页面都是在App.vue下进行切换的,是页面入口文件。但App.vue本身不是页面,这里不能编写视图元素。

这个文件的作用包括:调用应用生命周期函数、配置全局样式、配置全局的存储globalData

应用生命周期仅可在App.vue中监听,在页面监听无效。

(6)入口文件 main.js

main.js是uni-app的入口文件,主要作用是初始化vue实例、定义全局组件、使用需要的插件如vuex。

三、UniAPP 常用组件简介

uni-app 为开发者提供了一系列基础组件,类似 HTML 里的基础标签元素,但 uni-app 的组件与 HTML 不同,而是与小程序相同,更适合手机端使用。

虽然不推荐使用 HTML 标签,但实际上如果开发者写了p等标签,在编译到非H5平台时也会被编译器转换为 view 标签,类似的还有 span 转 texta 转navigator等,包括 css 里的元素选择器也会转,但为了管理方便、策略统一,新写代码时仍然建议使用view等组件。

开发者可以通过组合这些基础组件进行快速开发, 基于内置的基础组件,可以开发各种扩展组件,组件规范与vue组件相同。

四、UniAPP 常用 API 简介

uni-app的 js 代码,h5 端运行于浏览器中,非 h5 端 Android 平台运行在 v8 引擎中,iOS 平台运行在 iOS 自带的 jscore 引擎中。所以,uni-app的 jsAPI 由标准 ECMAScript 的 js API 和 uni 扩展 API 这两部分组成。

ECMAScript 由 Ecma 国际管理,是基础 js 语法。浏览器基于标准 js 扩充了window、document 等 js API;Node.js 基于标准 js 扩充了 fs 等模块;小程序也基于标准 js 扩展了各种 wx.xx、my.xx、swan.xx 的 API。

标准 ecmascript 的 API 非常多,比如:console、settimeout等等。

非 H5 端,虽然不支持 window、document、navigator 等浏览器的 js API,但也支持标准 ECMAScript。

开发者不要把浏览器里的 js 等价于标准 js。

所以 uni-app 的非 H5 端,一样支持标准 js,支持 if、for 等语法,支持字符串、数组、时间等变量及各种处理方法,仅仅是不支持浏览器专用对象。

Uni-APP入门知识整理相关推荐

  1. 前端入门知识整理(1)Vscode使用

    前端入门(1) 最近社团需要,所以整理了一下从0开始学习前端的一些知识. 安装软件 (VScode)以及对应插件的安装,相关配置. 介绍vscode常用快捷键 初始化第一个html程序 1.软件以及插 ...

  2. 深度学习入门知识整理-训练技巧以及模型调优

    目录 网络模型先简单后复杂 确认模型损失 检查中间输出和连接 关于可视化神经网络的主要方法,Faizan Shaikh 举出了三个例子: 超参数的选择 学习率范围侧视图Colab Notebook N ...

  3. speedtree中文对照ppt_SpeedTree树木建模入门知识整理

    本文知识点整理仅为记录本人学习过程中的知识点,略显粗浅,内容较杂乱,敬请各位见谅! 一.软件介绍 Speedtree是三维软件做树木的一个很强的软件,支持很多树木的快速建立和渲染,而且它自己本身还带有 ...

  4. JavaScript入门知识整理二

    文章目录 一.基础知识 二.事件 示例一.鼠标点击按钮触发add2()函数的执行 示例二.文本框 示例三.页面加载事件(onload) 三.DOM对象,控制HTML元素 示例一.将HTML分解成DOM ...

  5. 关于服务器的入门知识整理

    1.服务器和PC的区别? 服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的计算机. PC机(personal computer)是指个人计算机,在一个时刻通常只为一个用户服务 ...

  6. java快速入门知识整理:9、java数据类型:布尔型(boolean)

    文章目录 一.布尔型(逻辑型)简单说明 二.代码演示说明 一.布尔型(逻辑型)简单说明 在 Java 语言中布尔类型的值只包括 true 和 false,没有其他值,不包括 1 和 0, 布尔类型的数 ...

  7. 智能手机Symbian操作系统入门知识整理

    1.什么是S60.        什么是OS6/7/8/9,什么是J2ME.        什么是MIDP 根据人机界面的不同Symbian操作系统分为S60.S80.S90和UIQ,发展不同用户界面 ...

  8. SOME/IP 入门知识整理

    1.some/ip 位于OSI 7层模型的4层之上,当接收方有需求的时候才发送,可以大大降低总线的负载. 2.some/ip报文中"Message Type"有以下几种类型: Re ...

  9. 如何进入linux基本目录,Linux入门的一些基本知识整理

    原标题:Linux入门的一些基本知识整理 图形模式与文字模式的切换方式 Linux预设提供了六个命令窗口终端机让我们来登录. 默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1. ...

最新文章

  1. 大转盘完整源码附效果图,可以下载直接用
  2. HD 2048 数塔 DP(简单递推)
  3. iOS之instancetype
  4. Linux---基础指令
  5. 解决kali linux找不到更新的问题
  6. 一个批量转换文本文件编码的程序(Python)
  7. Memcached内存分配机制
  8. QT + VTK (QVTKWidget)显示点云,内存泄漏的解决方法
  9. 超详细域名和二级域名、子域名免费配置SSL证书变成升级HTTPS(完整配置文件)
  10. CEC2018:动态多目标测试函数DF10~DF14的PS及PF(提供Matlab代码)
  11. 潜意识幻想-思维幻觉-昏迷中的加速思考
  12. C++游戏开发入门制作:经典游戏拳皇97
  13. 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
  14. PHPCMSV9 企业黄页 黄页企业模板添加方法
  15. 解决 Push failed: Unable to access 'https://github.com/...': Failed to connect ...Connection Refused
  16. loadrunner入门教程(14)--检查点
  17. 关于Arthas如何远程监视Java程序
  18. php Session失效的原因
  19. 【LCCUP 力扣杯 2023春季编程大赛】1. 补给马车
  20. 遗传算法优化matlab,Matlab遗传算法优化中的一个优化的表达

热门文章

  1. 【Python面向对象编程】第12篇 特殊方法之__eq__
  2. eq()函数的两种写法的区别
  3. 3d模型 vv5_重庆洪崖洞有多美?WEY VV5车主:3D魔幻城市人间值得
  4. 常用的Excel快捷键
  5. linux 图形界面无法进入,无法进入图形界面的解决过程
  6. 实战PyQt5: 114-颜色类QColor
  7. 离职别退群,因为前同事绝对是宝藏
  8. 17.F对象与Q对象
  9. 笔记本电脑风扇声音大解决办法(清过灰尘后还是这个情况的请看)
  10. react 中 state 的基本使用