一开始根本不知道uni是什么东西,在日渐学习下,我知道了uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
uni-app
在手,做啥都不愁。即使不跨端,uni-app
也是更好的小程序开发框架(详见)、更好的App跨平台框架、更方便的H5开发框架。不管领导安排什么样的项目,你都可以快速交付,不需要转换开发思维、不需要更改开发习惯。uni,读 you ni,是统一的意思。uni-app官网
我们学习uni的理由也很简单:uni-app 在开发者数量、案例、跨端抹平度、扩展灵活性、性能体验、周边生态、学习成本、开发成本等 8 大关键指标上拥有更强的优势。
这款应用开发平台体验感是极好的,体验更好的 Hybrid 框架,加载新页面速度更快。App 端支持 weex 原生渲染,可支撑更流畅的用户体验。小程序端的性能优于市场其他框架。这也是我们的科任老师选择这门课作为我们的基础课的原因。它的生态周边非常丰富!非常方便我们使用和丰富我们的发开。插件市场数千款插件,支持 NPM、支持小程序组件和 SDK、兼容 mpvue 组件和项目、兼容 weex 组件。微信生态的各种 sdk 可直接用于跨平台 App。
学习成本相较于其他开发平台,学习成本是较低的。基于通用的前端技术栈,采用 vue 语法+微信小程序 api,无额外学习成本。
下面是一些这节课的课程要求和一些学习笔记:
****检查流程:
HBX中右键项目→easy-git→查看日志,和gitee仓库记录对比。
运行项目
对照日志讲解一项功能要完成什么事情(或者是日志注解明晰的)
回答一些简单的提问,如:clog怎么打、uview怎么打
搜集遇到的问题,不能解决老师和组长一起解决,能解决就解释如何解决
老师一开始就给我们设置这节课的检查水准,从此看出来,老师是非常公平公正、客观的。
*****全局网络请求步骤:
1.项目里面建立request.js文件
2.网络请求的添加方法
3.module.exports开放它
4.main.js里用import导入js文件
5.vue. prototype 全局示例
6.使用this.$美元符号,然后自定义名称进行调用
*****使用缓存保存数据:
应用场景:
1、对时效要求不高的应用,初次加载页面,可使用缓存减少等待时间
2、无网络或服务器无法访问时,使用缓存提供本地数据查阅或离线阅读
3、相对固定不变的数据,无需每次从服务器获取
同步异步:
使用时存在两种方案,同步和异步(记住两种方案是重点)
使用步骤:
设置缓存值,获取缓存值,从服务器获取最新数据保存到本地
a.因缓存在本地,基本可不考虑耗时和失败的情况,所以使用同步异步均可(无所谓)
b.若需要即刻使缓存生效以进行下一步操作则必须使用同步方法(就是写上来)
缓存有效期:(看他问不问)
1、H5端有大小限制(5M),可能会被用户自行清理
2、app端无大小限制,属于持久化数据
3、微信小程序大小单条1M,最大10M,缓存与小程序生命周期一致
*****页面通知实现:
方式一:
getCurrentPages() 方法获取上一个页面
1、列表页添加更新列表项阅读次数的函数refreshReadCount(id, count)
2、通过navigateTo导航到详情页面
3、获取前一页面的实例使用getCurrentPages()
4、通过前一页面实例,调用相应函数,更新相应列表项的阅读次数
方式二:
消息通知中心
1、注册全局变量
2、自定义通知/控制中心文件notification.js在其中添加notices数组保存通知对象且自定义add添加通知函数、remove移除通知函数、post给观察者发送通知并执行通知任务的函数,并导出
3、在main.js全局引入notification.js且挂载到全局
4、在index.vue的onLoad中使用add函数注册通知,添加onUnload并在其中使用remove函数移除通知
5、在blog.vue的addReadCount中添加使用中心解耦
总体来说,老师的教学让我们亲身体验了一把软件开发,手把手教学,通俗易懂,有不会的问题能够询问组长,组长不会的再询问老师,课程难度是较低的。这是一款简单易上手的开发端软件,uniapp几乎不需要前端开发者懂原生开发知识,社区里有许多例子,可以即拿即用,对我来说uniapp这门课程是一门比较有趣的课程。