选择了uniapp开发app
7月份打算做一简单app,之前公司做app的时候简单用过Dcloud公司的mui,当时由于uniapp刚出来,最终选择了mui。对uniapp的
了解几乎没有。
做app对我来说几乎是零基础的,当然是能把任务完成越简单越好。
当时有了解谷歌的Flutter,是使用Dart语言开发的,由于我和另外同事都感觉入门门槛比较高,加上app开发时间比较着紧,所以放弃了。现Flutter更新的频率比较高,加上阿里大厂的扶持,后再做app会比较倾向。
本打算使用mui,当时是由于mui的性能问题一直也在犹豫,直到再次看到uniappp,被官方的“只开发一套代码,可发布到IOS,Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。”。当时着实是被吸引了,这才导致了入坑的开始。
简单说一下在开发过程遇到的问题:
1、app的onLaunch生命周期中无法页面跳转,导致登录拦截无法写到app的onLaunch生命周期中,只能是写到pages.json中第一个页面的onLoad生命周期中,随间接也能实现,但总是不符合常理的。
官方提供了如果app onLaunch生命周期如果有页面跳转的话,使用定时器延迟加载,但即使登录拦截页面跳转了还是会执行pages.json中第一个页面的onLoad生命周期中函数,官方又有说不支持在onLaunch生命周期做页面跳转。(其实加延迟可以实现)。
截至到现在还是没闹明白到底行还是不行?
2、github上提的issue都石沉大海了。。。
3、所谓的开发一套代码可发布到多个平台,不是你想的那么简单的。
// #ifdef APP-PLUS
中间写安卓原生的代码
//#endif
自行体会。。。
4、生态
官方提供了一些组件,但是你肯定找不到合适的组件,那就自己写吧,先实现功能再美化样式,可苦了我。
如果能有想vant的开源组件那肯定是极好的。
5、开发工具
之前用过HBuilder,换了HBuilderX后真机调试动不动就崩溃退出,这体验是糟糕透了,关键是浪费时间。、
说了你这么多不好,但gitHub上你的star越来越高(10000多了),也希望你越来越好吧。
tips:
开发的app安卓市场上线了。ios甲方还没要求,但我总在想如果代码编译成IOS会怎么样?编译成微信小程序会怎么样?编译成今日头条小程序会怎么样?编译成支付宝小程序会怎么样?编译成h5我不担心。
如果编译到微信小程序问题太多的话,我肯定会重新开发微信小程序,因为我最近在做微信小程序,正好可以拿来练手。
2019-11-05更新:
app 图表需求有更新,之前用的echarts,后官方建议升级为自定义模式(Hbuildx2.2.2升级到2.3.7),官方给出了一些升级建议和需要修改的地方。按照官方的方案,echarts图表不报错也不显示,后私信论坛管理员,论坛管理员回复推荐使用ucharts,能理解你的目的,但做法实在是差评。再看升级文档没有了echarts替换方案,改成了推荐使用echarts。
吐槽:一个开源的软件,升级不考虑兼容性,迟早会被弃用。
2019-11-15更新:
解决app自动登录未正确返回而加载主页数据的问题。
pages.json的第一个页面放login,在login页面的onLoad中执行自动登录。(如果有token执行自动登录,没有则用户名密码登录)这样就解决了main页面执行自动登陆没返回前执行main页面自有请求的问题。
瑕疵:因为自动登录是由login跳转到main的,如果网络慢的话肉眼看到页面跳转。
附加登录拦截逻辑:
系统首页为login,login onLoad生命周期内 根据是否有token判断是否需要自动登录(用户名密码登录成功换取的token会存到手机存储,同样退出登录的时候会清除(刷新token请求失败的时候和其他业务错误都会清除(比如设备在其他设备登录过等)))。自动登录成功后跳转到mian,自动登录失败跳转到login(会清除token),然后使用用户名密码登录。
选择了uniapp开发app的更多相关文章
- 多端开发之uniapp开发app
最近在给f做一些工具app,学习了不少关于uniapp编写android应用的知识. 首先,App应用的创建的时候要选择项目类型为uniapp类型.最开始我选择的是h5+项目,这种项目就比较容易写成纯 ...
- uni-app开发踩坑记录
大部分问题是我在h5端看不到而在android.iOS平台上暴露出来的,不包含小程序 1.:class="['defaultStyle', dynamicStyle]" 不支持直接 ...
- APP手机商城系统选择,混合开发与原生开发哪个好?
关于手机APP开发用混合还是原生现在说法不一,有说混合开发好:时间短.费用低.效果也不错,有说原生开发好,原生APP在性能方面比较好.而商城系统中的手机APP用混合开发还是原生开发比较好呢? 最近我参 ...
- uni-app开发一次,覆盖多端的前端框架
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台. 一套代码,运行多个平台 uni-app实现了一套代码, ...
- 使用uni-app开发微信小程序
uni-app 开发微信小程序 前言 9月份,开始开发微信小程序,也曾调研过wepy/mpvue,考虑到后期跨端的需求,最终选择使用了uni-app,本文主要介绍如何使用uni-app搭建小程序项目, ...
- 使用uniapp开发项目来的几点心得体会,供新手参考参考
先说一下提前须要会的技术 要想快速入手uniapp的话,你最好提前学会vue.微信小程序开发,因为它几乎就是这两个东西的结合体,不然,你就只有慢慢研究吧. 为什么要选择uniapp??? 开发多个平台 ...
- uni-app 开发随笔(踩坑记录)
这里总结一些uni-app开发时我遇到的坑 uni-app获取元素高度及屏幕高度(uni-app不可使用document) uni.getSystemInfo({ success: function( ...
- 【uniapp 开发】uni-app 中如何打开外部应用
我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝.通过第三方浏览器打开一个 url 等等. App不像网页可以使用http超链接互相跳转,但手机os设计了scheme机制, ...
- 如何选择靠谱的app外包公司,2017最新资讯
企业在外包开发app之前最纠结的问题就是如何选择一个靠谱的app外包公司.因为一个靠谱的app外包公司非常重要,完全决定了app外包开发的周期.bug.售后服务等各方面问题,可以说app开发外包团队一 ...
随机推荐
- scrollWidth、clientWidth 和 offsetWidth
scrollWidth:对象的实际内容宽度,不包括边线宽度,会随对象中内容超过可视区而变大. clientWidth:对象内容的可视区的宽度,不包括边线宽度,会随对象显示大小的变化而变化. offse ...
- Veins(车载通信仿真框架)入门教程(二)——调用第三方库
Veins(车载通信仿真框架)入门教程(二)——调用第三方库 在借助Veins进行自己的研究时我们经常需要实现一些比较复杂的功能,有时就需要借助第三方库的帮助. 博主的研究需要使用神经网络,但是自己编 ...
- 3D切割轮播图
预览图: 实现原理:将图片切割构建一个和ul(电脑屏幕)同一个轴的立方体,利用延时旋转实现切割效果 知识点:transform-style属性(必须搭配transform属性使用) 值 描述 flat ...
- Kafka集群的安装和部署
一.Kafka的下载与解压 http://kafka.apache.org/downloads.html下载kafka_2.11-1.1.1.tgz.gz并解压到/home/jun下 [jun@mas ...
- 如何用好redis pipeline
编者注:pipeline是Redis的一个提高吞吐量的机制,适用于多key读写场景,比如同时读取多个key的value,或者更新多个key的value.工作过程中发现挺多小伙伴都对pipeline多少 ...
- vue之页面缓存问题(基于2.0)
为什么会有这篇文章 在vue2.0中出现了列表页面是每次都重新加载数据,但是详情页面却只在第一次加载的时候调用数据,如果返回到列表再进入详情那么页面是不会重新渲染页面. 1 用vue-router 重 ...
- Python爬虫常用小技巧之设置代理IP
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来 ...
- [考试反思]0916csp-s模拟测试44:可笑
出现了有史以来第一个3首杀AK啊...然而跟我没有丝毫关系 (曾经还是有一次考试差点就有那么一点关系的...) 然而反正我考得很水就是了.不是很垃圾,而是很水. 这套题是真的水... T1不会证复杂度 ...
- Java加密、解密Word文档
对一些重要文档,我们为保证其文档内容不被泄露,常需要对文件进行加密,查看文件时,需要正确输入密码才能打开文件.下面介绍了一种比较简单的方法给Word文件添加密码保护以及如何给已加密的Word文件取消密 ...
- 数据结构--树链剖分准备之LCA
有关LCA的模板题 传送门 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点个数.询问的个数和 ...