最近在同步开发两个私活,一个基于Flutter
的App,一个基于Vue2
的可视化大屏。再加上主业,竟然同时在搞三份工,纯牛马了属实是。
App仅仅要求开发一个安卓App,没有要求开发使用的语言。
本来我第一预期框架肯定是uniapp
的,但这个App工期比较松,于是想选个没用过的玩一下😏
因为只要求安卓,于是我花了两个小时把kotlin
官方入门文档读了一遍,读完甚至觉得还挺简单,TS
类型折腾起来比它麻烦(我胡说的)。
但是觉得kotlin
还是有些局限性(多端上),而且依赖Java库,又去v2ex
搜了下网友的建议,有些甚至建议先学Java。我对学Java很排斥,因为感觉遍地都是Java,我再怎么学也无法弥补相对于其他Javaer来说入行晚的巨大劣势,所以迅速抛弃了kotlin
。
那最后为什么转投了flutter
呢,很简单,打开招聘软件,搜索uniapp
/ flutter
/ RN
等关键词,哪个岗位多,薪资高,就选哪个。
虽然我身在一个二线的省会城市,但是Flutter
相比其他俩来说在岗位数量和薪资上优势还是很大的。
uniapp
不是不行,而是门槛太低,薪资太低,所有前端都能直接拿来使用,也是大部分小公司或传统企业要开发app、小程序的首选。但这玩意什么门槛都没有(我瞎说的),我没有要去做的动力。
而且在用户和开发者的角度,我不认同损失性能和体积,去低成本的实现一个勉强能用的App的这种做法,这基本就是对用户在做服从性测试(反正难用你也得用,没得选)。
但作为公司的角度,只有成本才是唯一的考量,我也非常理解。
幸好用Flutter
开发完没让我失望,真的很丝滑,打包体积也只有19m
后续还能编译到其他平台。
说起来,学 Flutter
的过程也有点跳跃。
本来我打算先看一遍文档的,但是问了一嘴做过 FlutterApp
的朋友,他随手甩了我一个链接,是一个 Flutter
的佬(小呆呆
)写的关于 Getx
的使用简介。
于是我顺着他的文章读了几篇,大概摸索清楚了在 Flutter
中如何使用 Getx
管理数据及交互逻辑层,虽然此时我还完全不清楚Flutter的语法,但也不妨碍我理解 Flutter
中的一些设计方式。
于是在简单建立了整体结构、几个页面、和基本的交互逻辑后,我用 Getx
小小的重构了一下,直接加深了不少理解。
中间我又注重看了几个关于 Flutter
中 Controller、 State、布局约束、ChangeNotifier的视频讲解,其中最推荐的是 B站:王叔不秃,讲的忒好了。
看的同时,每天下手去开发,然后就发现最不熟悉的反而成了UI组件🥲,因为我一开始就默认了开发UI界面没有难度,所以优先去看了状态管理怎么做....
由于UI比较简单,重构的也比较早,所以并没有看到所谓的“嵌套地狱”,整体开发体验(Android Studio)是很不错的。
中间磕磕碰碰的都是些 Android 原生配置需要去搜,这玩意是真一点也看不懂。不过幸好,只要配好了,开发时是不需要管的。
总之,在大概 3-4 人日的工作量下完成了这个Flutter App。
至于Vue2的大屏,Vue的生态用的实在是太多次,所以没有什么意外。
这次接下来就当是测了一下开发的极限速度,因为活很急,最终总共开发时间不到20小时。
PS:大屏实在是太适合做低代码了,但是似乎没见过什么源码进源码出的低代码平台,可能是每个公司都有自己的业务需求,做出来很难通用吧,所以我简单花了个架构图,准备后面自己搞一下。
现在到了收尾阶段,又可以写点东西,做自己的项目啦~~
其实做私活,最重要的是又多了个开发模板,方便下次更快的启动,同时也能沉淀出自己的东西,
做的越多,做的越快。
最怕纯消耗时间,什么都没积累下。
这可能就是同样是在做拿时间换钱的活,不同人之间的差别所在吧。