flutter使用体验

第一个版本经过20多天的开发和测试终于上线了, 在用flutter之前, 充满着好奇, 用flutter之中充满着自虐, 用flutter之后, 好奇心得到满足, 也有了自己的感受

感受1: Flutter比Android难

有很多说简单的人, 也有更多说难的人, 个人觉得比原生Android要难一些

简单的原因
  1. flutter通过widget组合的方式替代了继承, 这样就不用写很多自定义的类
  2. flutter的语法糖简直是集合了很多语言的语法糖
  3. 热加载特别好用
  4. 运行效率很高, 编译速度也比Android快, 这点对开发者很友好
  5. setState刷新UI简直太好用, 比起Android的findViewById之后再set的方式开发效率高了很多
难的原因
  1. 如果学习flutter的时候只做过单一语言和平台开发, 会感觉很难, 对语法糖没那么感兴趣, 也不容易熟悉它的语法, dart集合了python c++ javascript和object-c和java等诸多语言的语法特性
  2. dart语言有些缺点, 比如return语句可以不写, 能绕过语法检查, Android studio不会自动提示一个类, 除非已经把所在的包导入进去
  3. 没有Android的预览xml, 还是需要运行在手机上才能看
  4. flutter自身的一些坑还没填平, 比如release性能太快会导致通过Media.of(context)获取屏幕的宽度为空
  5. 有时候异常的函数栈打印到flutter SDK里面了, 导致定位麻烦
  6. dart拼接字符串的时候有些类需要手动调用toString(), 如果使用’+'之后接null字符串会报错, 这点不如JAVA
  7. IDE现在还有一些坑(当前2019年6月16日), 比如有时候出现没有logcat的tab, 在run tab也没有log, 只好在命令行看log
  8. 有时候插件也有bug, 比如screen_util在release下获取到的屏幕宽度是0的问题, 比如image_compress库有时候压缩完后返回的图片是null, github上的umeng的事件统计工具plugin肉眼可见的bug, mobshare sdk在小米8上没法分享…(当然, 我们app上线前都搞定了, 除了替换方案, 自己也能写插件替换, 调用原生的API不麻烦)
  9. 目前还不支持C++调用, 热修复也不支持, 还好目前项目不需要
    等等等…

即便flutter虐我千百遍, 但当看到release的性能比Android原生的性能还要好的时候, 还是倍感欣慰的, 并且跨平台特性会极大的减少开发周期

感受2: flutter当前版本(1.5.4)还是有很多坑要爬的, 并且离开Google搜索就废了的程度

  1. AndroidX导致的构建的问题, 很多插件都会遇到
  2. 各种插件都会导致构建问题, 有的还支持编译不通过 flutter run --verbose或者gradlew assembleDebug --info命令要擅长分析
  3. 异常统计工具crashlytics因为被墙的缘故没用, bugly支持flutter, 但继承bugly后发现一堆错误, 很多都是SDK中的异常, 工程自身的代码异常很容易被淹没

/// 我们再不断努力的时候, 还要不断解决中国政府频繁的封禁VPN的问题…(在此有需求的小伙伴可以了解下linode服务器, 可以频繁更换IP, 按小时收费每月$5还可以)

感受3: flutter资料少, 目前京东上只有一本关于flutter的书, 网上还有一本flutter实战的网页书

感受4: flutter确实很火, 也在被大力推广, 支持flutter的各种插件越来越多(如果这个时候写几个插件, 可以松松的骗上几百star, 哈哈哈)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值