uni-app的基础概念
uni-app的基础概念
如果你有uni-app
的开发经验,可省略观看~。
没有uni-app
的开发经验也没有关系,本小节将带你快速的了解uni-app
这个高效率的跨端开发框架和生态。
uni-app简介
uni-app
是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/快手/钉钉/淘宝)、快应用等多个平台。
当前官网的介绍是一套代码可以发行到14个平台
,比我刚开始学习时又多了4个平台:p
那它是怎么做到一套代码兼容如此多平台的呢?
简单来说当我们在微信小程序中想要获得用户的位置信息,是通过
wx.getLocation
这个API来实现的,如果在uni-app
中进行开发,我们就可以使用uni.getLocation
来实现,在我们进行项目发行,代码编译的时候,uni-app的开发框架会判断我们的目标编译平台,如果是微信小程序,则将uni.getLocation
改为wx.getLocation
,如果是字节小程序,则改为tt.getLocation
…
这样看uni-app
难道只是实现了api前缀replace
吗?当然不是!各个小程序平台都有自己的SDK和开发工具,由目标平台去完成api实际功能的实现,在各小程序平台里uni-app
能做的不多,也就是做一个替换。但我们看向Web、iOS和Android端,uni.getLocation
同样可以兼容,这其实是uni-app
的移动端SDK在遵照小程序的SDK规范进行了同样功能的实现。
uni-app功能框架图
另外除了以上平台,从端
上说,我曾经用uni-app
开发过家里的智能电视上的应用,开发过孩子智能手表上的应用,在开发者社区里听说很多商超的智能扫码枪也是uni-app
的。因为这些智能设备都是Android系统,我就是想告诉大家,掌握uni-app
后的应用场景是很大的。
开发工具和调试环境
uni-app
项目的开发,我们既可以使用VSCode
,也可以使用uni-app
官方IDEHBuilderX
来进行。本小册中的开发环境均使用HBuilderX
,这也是我推荐的uni-app
开发环境。
在IDE的使用上,你不用担心和别的IDE习惯不同,你可以通过工具
>预设快捷键方案
菜单更改为其他主流IDE的预制设置。当然,也是可以自定义快捷键的。
安装好HBuilderX后,默认主题应该是叫做绿柔
。你不喜欢的话也可以在工具
>主题
菜单中切换
酷黑
和默认的sublime风格类似雅蓝
和默认的VSCode风格类似
另外由于各个小程序平台的SDK还是有不少差异,通常我们还需要下载各平台自己的开发者工具来运行调试。比如要兼容微信小程序,我们就要HBuilderX
和微信小程序开发工具
同时使用,要兼容QQ小程序
,HBuilderX
和微信小程序开发工具
同时使用。
电脑里一大堆开发者工具也真是让人头疼
不过由于uni-app
也可以发行Web端,大部分无须调用平台API的页面我们可以直接通过内置或第三方浏览器来查看效果。
uni-app的项目结构
一个uni-app
项目的常见目录结构如下图,比较重要的都给大家标注了
uni-app的生态
uni-app
有着自己的完整的插件生态和市场,目前插件市场有各类插件共计5000+。
HBuilderX插件
前端组件
原生插件
项目源码
云函数模板
插件可以设置为付费,帮助插件开发者获得收益。但大部分的插件都是免费的,同时为了鼓励开发者DCloud每年也都会举办开发者大赛,奖品丰厚。我曾经在2020年参加DCloud插件开发大赛并同时获得二等奖和三等奖。
注意事项
- 会JS但不了解
Vue
框架能学习uni-app
吗?
是可以的,正好借由学习
uni-app
来掌握Vue
的语法规范。
注:在本文章编写时,uni-app已支持使用Vue3语法来开发的,但Vue2的风格仍是推荐用于开发uni-app的主要版本
- uni-app相关问题提问注意事项
虽然
uni-app
可以一套代码,多端发行,但各端下还是有不少差异,查看官方文档一定要注意平台差异说明。向人提问时一定要附带说明当前遇到的问题是在哪个端上遇到的。
- 本文章基础知识章节和官方文档的区别
基础的知识点组织是按照官方文档来整理的,但本文章会结合我个人的实战经验转化为更加通俗易懂的描述。并在合适的关键节点用实战案例强化知识点的吸收。
uni-app的基础概念相关推荐
- uni app 零基础小白到项目实战-1
uni-app是一个使用vue.js开发跨平台应用的前端框架.开发者通过编写vue.js代码,uni-app将其编译到Ios,android,微信小程序等多个平台,保证其正确并达到优秀体验.Uni-a ...
- 直播app开发基础知识汇总
很多想进行直播app开发的朋友,可能并不太了解音视频软件开发基础知识,以下这篇文章来源网络,都是一些基础概念,转载与大家分享. 当然,这只是一篇基础知识文档,如果有需要更深度了解直播app开发知识的朋 ...
- 物流仓储管理系统(wms)基础概念介绍[临沂艾思app开发]
物流仓储管理系统(wms)基础概念介绍: 物流仓储管理系统(wms)是一套基于追溯系统成品的多级渠道仓库管理流程,能完成从工厂到终端的多级仓库物流的管理及产品全生命周期流通的追溯管理,并以产品追溯码为 ...
- Python+Dash快速web应用开发——基础概念篇
作者:费弗里 来源:Python大数据分析 ❝本文示例代码与数据已上传至https://github.com/CNFeffery/DataScienceStudyNotes ❞ 1 简介 这是我的新系 ...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...
- 切换 uniapp_万能前端框架uni app初探03:底部导航开发
前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...
- 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析
AllJoyn开源技术基础概念解析 摘要: 总线(Bus) 实现P2P通信的基础 AllJoyn 的底层协议类似于D-Bus,相当于是跨设备分布式的 D-Bus 总线附件(Bus Attachment ...
- 深入了解Oracle ASM(一):基础概念
ASM基础概念 任何转载请注明源地址,否则追究法律责任!:http://www.askmaclean.com/archives/know-oracle-asm.html 相关文章链接: Asm ...
- 私钥经过哈希计算可以产生公钥_「区块链基础概念100」:公钥和私钥 | 027
免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 投资区块链,猛戳:火星财经App下载 来源:学习区块链 原文标题:「区块链基础概 ...
- 初识webpack——webpack四个基础概念
前面的话 webpack是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源.当webpack处理应用程序时,它会递归地构建一个依赖关系图表 ...
最新文章
- document的window对象
- vue-获取某个组件渲染的Dom根元素
- ms-sql数据转成脚本
- vi/vim文本编辑器的使用
- 类型事务修改 mysql 表类型 实际测试可执行
- 生产订单“生产线别”带入生产入库单
- 【太阳辐射预测】基于matlab BP神经网络太阳辐射预测【含Matlab源码 883期】
- [系统安全] 十二.熊猫烧香病毒IDA和OD逆向分析(上)病毒初始化
- CMOS 集成电路设计手册 (基础篇)--学习笔记 第二章
- catia批量转stp文件格式_catia教程一数据格式转换
- matlab作函数图像,matlab绘制函数图像
- [视频教程][斯坦福大学公开课:ios7应用开发 18集]
- 服务器 系统做镜像,服务器系统做镜像
- JS基础-循环精灵图
- vue中怎么实现吸顶效果
- 人工智能以及图形图像处理领域CCFA类期刊汇总与个人评价
- 专访星陀资本合伙人秦毅:秉持理性投资之道,着眼于技术应用层
- H3C 大规模网络路由技术 笔记
- 山东财经大学python期末考试题型_山东财经大学2012012学年第二学期期末试题
- pigz 快速压缩命令详解