Flutter 总结分享
截止到目前已经大概学习、使用Flutter大约有一年时间,这一年时间从好奇预览、学习再到真实的运用到项目中,经历了很多,简单记录一下给自己回顾并分享给大家。
缘起
2019年上半年flutter刚推出的就看到了,当时看起势挺旺 移动端Android iOS又没啥质的发展,看着flutter的介绍觉得挺好,又想充实一下工作之余的生活,于是决定入坑Flutter。
小白学习
看了看官网的文档又看了看中文社区,当时觉得不太系统入手了当时市面上第一本Flutter相关的书籍《Flutter技术入门与实战》,觉得还挺好入门合适。
2018年学习了Kotlin并使用它改造了一个原有的项目,学习Dart的时候才发现从Java -> Kotlin ->Dart 这个一路下来很容易。Dart的语法跟Kotlin 还有Swift有很多类似之处,大概都是新一代语言吧,接受了之后也觉得比java 写起来效率高一些。
跟着书本每个组件练习练习,试着写写翻译翻译原有项目发现有点意思。
中间在一个项目中挑了一个模块,混合式的使用了flutter,大概有两三个页面。
功能虽说通过测试并成功上线了,但是混合式的开发也带来了一些问题。
1、环境负担,由于期初使用的是直接接入Flutter代码导致所有的项目组同事都得安装Flutter环境。
2、原生与flutter互相交互繁琐,虽然flutter提供插件这样编译的交互方式,但是对于奇奇怪怪的需求仍显得笨重。
3、冗余。 混合开发的时候经常会遇到原生已经实现很好的小功能到flutter内仍需要在开发一份、flutter与原生交互的时候需要Android/iOS分别实现。
4、engine管理复杂,官方推荐复用engine但做到这一点并不简单。
入坑
由于种种原因,随着公司计划更新客户端技术栈,经各方评估后觉得flutter是个方向,由此开始筹划使用Flutter重新洗牌移动开发,有幸作为首批小白鼠进入项目组。2020年前一两月开始为公司的一盘Flutter大棋 讨论、设计、预研 ...
进入风暴中心
2020年新年伊始,公司决定让在新项目中全部使用flutter,也作为对我们的”大棋“的考验!当时觉得压力还是很大,原因有三:
1、flutter前景未知
2、很多轮子仍然不够完善、很多平时接入的第三方仍未支持flutter
3、纯flutter项目的性能、体验不知道会如何,兼容性也是未知
压力是压力,做还是要做的,路都是一步一步走出来的。
项目阶段性性总结
经过大约三个月兢兢业业的开发,项目一期基本功能全部实现,近期准备上线,总结如下:
1、纯flutter项目写其实确实很快,并且结合项目封装了自己的各种组件(轮子)之后就更舒服了。
2、很多第三方需要自己编写插件或者修改他们的插件(部分第三方的插件问题很多)。一期下来我们定制了分享、登陆、友盟、魔链、webview、视频播放器、加密、统计、语音播放、图片浏览、权限处理、个推等插件。总体感觉都还可控。
3、项目体验整体还算可以,但是部分细节仍追赶不上原生
4、flutter仍然存在很多问题,很大的问题在于view插件,处理起来确实费劲,相信随着官方的迭代升级都会解决的。