多端开发之uniapp开发app
最近在给f做一些工具app,学习了不少关于uniapp编写android应用的知识。
首先,App应用的创建的时候要选择项目类型为uniapp类型。最开始我选择的是h5+项目,这种项目就比较容易写成纯js的项目,利用一些html5plus能力,或者使用mui来编写手机app。
我调研了一下,uniapp和h5+(mui为代表)的差异和优缺点如下所示。
技术类型 | 优点 | 缺点 |
---|---|---|
uniapp | 可以使用unipp封装的组件和api,有海量的插件可以从插件市场中找到。兼容多端,也可以用html5plus的api能力。可以复用小程序项目的逻辑代码,对团队的技术积累有好处。 | 需要学习vue语法,可能性能没有mui的优化效果好。 |
H5+ | 也可以跨端生成多种应用,但是不能使用uniapp的组件、插件以及api中涉及h5的能力。其中mui号称可以达到原生应用级别的性能和交互效果。 | 局限于原生js以及依赖库的编写方式。无法统一和小程序项目的技术栈和编程方式,无法服用代码。 |
我首先尝试了一下h5+的mui项目,发现写起来很原始,因为大部分能力都是mui的js库提供的,写法完全和uniapp项目不同,很多uniapp封装的组件和api都不能直接使用。为了长远考虑,如果以后还要生成ios的app,mui技术未必适合。
再加上之前的小程序端也是uniapp类型项目,有很多基础库和方法是可以借鉴的,所以最终选择使用uniapp类型的项目来开发f端的app。
不得不说uniapp来开发跨端的应用是非常方便的,同一套代码除了平台特性的代码不能直接在其他平台上用,大部分通用的能力和代码是可以复用的。
tab上的定义还是在pages.json里面的tabBar定义,图片资源的目录结构也可以参考之前的项目。
然后就是一些功能开发了,其中uuid的获取方式和小程序不通,原始app的获取uuid(设备的唯一标识)的api在html5plus上也有对应的api,获取方式如下所示。
const uuid = plus.device.uuid;
值得一提的是html5plus里面提供了非常多好用的html5新特性,包括蓝牙(Bluetooth)、AD(广告联盟模块)、设备麦克风(Audio)、二维码(BarCode)、设备的摄像头(Camera)、设备信息(Device)、系统相册(Gallery)等。上面获取uuid的方法就属于管理设备信息的API之一。国内有专门的HTML5产业联盟,相关API可以从这里跳转。
由于我是开发的andorid app,所以在调试的时候也会使用到android studio,关于调试的方法我会单独写一篇文章来讲述,这里不展开说。大部分时候我们都有2种选择,要么使用AVD(虚拟设备)来调试app,要么连接真实手机进行调试(假设你有android系统的手机)。
调试的过程会遇到一些坑(后面写专题单独讲),但是最终我们是可以开发出较为满意的app,通过hbuilder可以打包成需要的apk。
这种开发模式非常流畅,适合创业团队或者全栈技术人,一套代码生成多端,开发效率非常高。测试代码也可以复用之前的,uniapp项目的自动化测试都是类似的,对测试团队也是非常友好。
性能方面,由于是小范围使用,数据量不是很大,体验上和原生app差别不大。对于资源也能预加载,这方面我还没有深入了解,但是提供了相关api,不用太担心lazy load的问题。
多端开发之uniapp开发app相关推荐
- android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...
本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1 Android Studio配置 2.1.1 ...
- uniapp开发APP 客服链接
uniapp开发APP嵌套第三方(米多客)客服链接,遇到了无法返回的问题 米多客的客服也回复很及时,发了一种解决方法 详细描述问题 (记不清在哪看到一句话: 详细的描述出遇到的问题,问题就解决一大半了 ...
- uniapp开发App从开发到上架全过程(三)-上架
当我们的APP开发完毕,最终交付的时候,必然要经历的一个环节,就是APP上架,国内APP上架一般为IOS端appstore上架,安卓端应用商店比较多,最常见的应用商店有华为应用商店.小米应用商店.OP ...
- uniapp开发app——nvue
Nvue是一个基于weex改进的原生渲染引擎,它在某些方面要比vue更高性能,在app上使用更加流畅,但是缺点也很明显,没有足够的api能力,语法限制太大,所以nvue适用于特定场景(需要高性能的区域 ...
- Linux嵌入式系统开发之Led开发——应用篇(一)
与Linux嵌入式系统开发之Led开发--驱动篇(一),对于的应用篇 看看咱们的开发板,有四个led灯,对吧,这次就是向办法用程序来点亮它,请看下边的代码: #include <stdlib.h ...
- uniapp开发app中配置高德地图定位流程
在使用uniapp开发app过程中,如何使用高德地图进行定位 高德地图开放平台账号申请 进入高德地图开放平台,注册并登陆开发者账号,完成之后点击进入控制台主页 在应用管理中点击创建新应用 输入并选择你 ...
- uniapp开发APP之真机调试
uniapp开发APP之登录授权,获取用户基础信息 一:华为手机实时调试APP代码基座流程 1.打开手机的开发者模式,允许USB调试,手机操作流程,进入设置-关于手机,长按版本号(开启开发模式),然后 ...
- uni-app 开发App 口令弹窗
我们用uni-app开发APP 电商类总有口令弹窗的需求 首先我们写弹窗首先就要想到uni-popup 写弹窗非常方便 <uni-popup ref="popup" roun ...
- android显示通知图标大全,Android应用开发之android 桌面APP应用图标显示通知消息的数量显示与去除...
本文将带你了解Android应用开发之android 桌面APP应用图标显示通知消息的数量显示与去除,希望本文对大家学Android有所帮助. android 桌面APP应用图标显示通知消息的数量 ...
最新文章
- SpringCloud Hystrix初体验
- cfg桩设备型号_试桩、试验桩、工程桩是一回事吗?
- 最优化作业讲解01:标准化线性规划(LP)
- Chip Factory HDU - 5536
- ubtunu打开firefox_Linux Ubuntu 终端命令行打开firefox报错
- 涡轮机叶片matlab强度分析论文,一种基于MATLAB及Pro_E的涡轮建模方法
- WLAN定位技术——(无线信号定位2)
- Android 视频播放器 (二):使用MediaPlayer播放视频
- pkcs1与pkcs8格式RSA私钥互相转换
- 活动目录父子域用户迁移之:TFSSharePoint问题汇总(一)
- 《Flash MX从入门到精通》内容简介
- Github中文汉化插件—英语渣渣的福利(转)
- 【绿色版软件】出现应用程序无法启动,并行配置不正确
- 微信小程序 | 借ChatGPT之手重构社交聊天小程序
- vi ~/.bashrc如何保存退出
- 一般java面试考什么_JAVA面试的时候一般考什么?
- Java:计算圆形和长方形的面积
- Python 打包的exe在Win7 不能运行的解决
- 【HCIE-RS 天梯路】QoS
- 诺基亚x6 云服务器,诺基亚X6使用一周后的真实体验,看完决定买不买?
热门文章
- 浏览器无法访问此网站该如何处理?
- java 写字板源代码_基于JAVA的模拟写字板的设计与实现(含录像)
- 【单片机毕业设计】【mcuclub-103】智能花盆 | 智能养殖箱 | 多功能花盆 | 多功能养殖箱【仿真设计】
- FFMPEG框架学习——(2)视频的提取和解码
- android usb uac,iBasso UAC
- 基于libusb库、uac协议,获取Audio声音数据
- 【组队学习】【35期】组队学习内容详情
- C语言 母牛生小牛问题 多组测试数据
- 高仿QQ源码 界面(3)
- 视频教程-隐马尔科夫算法:中文分词神器-深度学习