uniapp跨平台开发课程学习心得体会

在现今这个信息化的社会,掌握一门或多门编程技能已经成为高校学生必备的能力之一。作为一名热衷于技术学习的学生,我选择参加了《uni-app》这门课程,旨在通过学习uni-app框架,提升自己的跨平台应用开发能力。

在课程学习之初,我对uni-app的理解仅仅停留在它是一个可以开发多个平台应用的工具上。然而,随着课程的深入,我逐渐发现uni-app的强大之处远不止于此。它不仅整合了多个平台的开发技术,还提供了丰富的组件和API,使得开发者能够高效地开发出高质量的应用。

在学习过程中,我遇到了一些挑战。首先是对于Vue.js框架的不熟悉,因为uni-app是基于Vue.js开发的。为了能够更好地掌握uni-app,我花费了大量的时间去学习Vue.js的基础知识。其次是对于跨平台开发的理解不够深入,导致在开发过程中遇到了一些兼容性问题。但是,在老师和同学们的帮助下,我逐渐克服了这些困难,对uni-app有了更深入的了解。

通过这门课程的学习,我收获颇丰。我不仅掌握了uni-app的基本语法和开发流程,还学会了如何利用uni-app的组件和API进行应用开发。更重要的是,我学会了如何从一个全局的角度去看待应用开发,学会了如何在不同的平台之间找到平衡,确保应用的质量和用户体验。

这次学习也让我深刻体会到了团队合作的重要性。在项目开发的过程中,我们需要与团队成员紧密协作,共同解决遇到的问题。通过不断的沟通和交流,我们不仅能够更好地完成任务,还能够增进彼此之间的友谊和信任。

回顾这次学习经历,我深感自己在技术和思维上都得到了很大的提升。我意识到,学习编程不仅仅是为了掌握一门技能,更是为了培养自己的逻辑思维能力和解决问题的能力。在未来的学习和工作中,我将继续努力学习编程知识,不断提升自己的技能和素养。

展望未来,我计划将所学到的uni-app知识应用到实际项目中,通过实践来巩固和提升自己的能力。同时,我也会继续关注uni-app的发展动态和技术更新,不断学习和掌握新的技术和方法。

uni-app介绍及对其优缺点理解

1.开发多端兼容应用的一种较好的方案:

a.开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支

付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台,常见平台基本上都可以被兼容到;

b.开发体验还是相对较好的,很多时候可以在h5开发,然后在app或者mp上调整一下就可以用

了;

i.个人感觉相对于r这种需要一直运行在真机或者模拟器上,开发体验是要好一些;

c.如果没有多端兼容的需求或者预留平台开发的任务,只是为了开发一种平台,还是建议使用

对应比较成熟的技术会更好一些;

i.如纯原生的Android或者IOS,性能肯定是要更好一点的; ii.一般H5的开发体验也比用uni好一些;

d.跨端也不是说一劳永逸不需要对相应的端进行测试和兼容的,还是会有一些问题需要处理

的,如官方知道的跨端注意事项;

i.有时候一些关键的点上走不通,可能就需要花费很多额外的工作去做相应端的兼容,如百

度小程序不支持scoped ;

ii.App转为微信小程序的一点经验;

iii.另一些三方sdk,只兼容了android或者ios的原生,根本没考虑uni-app的情况,这个时

候就要费劲的去做兼容处理,需要做原生混合编码,对纯前端来说不是很友好,可能还是需要原生的app开发进行操作;

2.从Vue过渡过去成本非常低,不会有太多额外的学习成本:

a.uni基于通用的前端技术栈,采用vue语法+微信小程序api,无额外学习成本; b.对于使用uni来开发App来说,直接跳过了学习weex的环节; c.对于App原生有的时候会需要用到nvue的技术;

i.这里语法差别不是很大,通常情况下.vue组件直接修改为.nvue就可以了,nvue就是

weex上补充了uni的jsApi;

uni-app开发微信小程序和App经验

微信小程序双线程运行机制|渲染层和逻辑层

1.渲染层的界面使用了WebView进行渲染;

a.wxss,可以独立的在视图层运行,而不需要逻辑层;

b.重渲染机制,wxss节点越少,嵌套越少,渲染效率越高;

i.节点要小于1000个,层数要小于30层;

2.逻辑层采用 JsCore线程运行JS脚本;

a.借助wxWebAssembly的原理,使用编译型语言,如c,go等来替代解释性语言(运行时)

JS,从而来提高性能;

3.native层,用于以上两者进行通信;

a,一个小程序存在多个界面,所以渲染层存在多个WebView线程,这两个线程的通信会经由微

信客户端native做中转,逻辑层发送网络请求也经由native转发; b.逻辑层需要处理数据,调用setData来将数据传递到渲染层;

i.setData,传递的数据不能超过256kb,超过就会卡顿;

ii.频繁的调用setData,也会出现明显的卡顿现象;

iii.使用uni-app开发的微信小程序,因为智能的处理的数据的diff,比大多人手写的原生小

程序的性能还好。

只有逻辑层和视图层代码全部注入后,并且时间点对齐后,才会开始第三阶段首屏渲染的工作。在渲染完界面之后,页面实例就会收到一个onLoad的回调,你可以在这个回调处理你的逻辑。

小程序与普通网页开发的区别

1.网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响

应,而在小程序中,二者是分开的,分别运行在不同的线程中;

a.逻辑层运行在JSCore中,并没有一个完整浏览器对象,因而缺少相关的DOM API和 BOM

API。**这一区别导致了前端开发非常熟悉的一些库,例如jQuery、Zepto等,在小程序中是无法运行的。**同时JSCore的环境同NodeJS环境也是不尽相同,所以一些NPM 的包在小程序中也是无法运行的。

2.小程序的体验和用户粘性要好于h5;h5的权限问题及更新要比小程序方便很多。

总的来说,这次《uni-app》课程学习让我收获了很多,不仅提升了我的技术能力,也让我对编程有了更深刻的理解。我相信,在未来的学习和工作中,我会更加努力地学习、实践和创新,成为一名优秀的开发者。

【作业分享】

1.实现搜索栏和轮播图效果

2.电影搜索

3.实现手机商城首页,能够进行商品类别的切换

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值