美文网首页大前端
Flutter使用回顾

Flutter使用回顾

作者: oldSix_Zhu | 来源:发表于2019-03-15 17:04 被阅读13次

    从最初公司领导决定要使用Flutter渐渐替代原生开发,然后从零开始学习Dart与Flutter,到现在已经3个多月了,目前项目最新的迭代版本中已经用到了几个Flutter开发的页面。现在总结一下这段时间的使用体会。
    1、Flutter介绍与看法
    2、Flutter学习路线
    3、Flutter使用中存在的一些问题

    1、Flutter介绍与看法

    Flutter是谷歌全新的下一代发展平台,它允许程序员用一种简单的编程语言Dart为苹果的iPhone/iPad iOS平台和谷歌的Android手机/平板电脑编写程序。
    简单说就是一种手机App跨平台的开发框架。

    针对Flutter而言,结合参考内容,个人有以下看法,整体来看Flutter是属于一个早期开发阶段的语言,目前Flutter的开发生态,不管是语言还是框架还是工具,使用方面的内容,目前都不是特别成熟。

    对于使用Flutter的初衷,我相信大部分领导都是出于提高生产力。但是目前就我们的项目来看,相同的时间,如果改用Native去写,我觉得两者进度并没有多大的差异,可能Native端反而会更快一些。
    因为目前Flutter中非常常见的一些控件功能都无法满足,往往在轮子上需要耗费大量的时间,因此建议仅仅做尝试使用,或者接入小批量模块,等待Flutter成熟之后再大面积使用。

    对于个人开发者,可以使用纯Flutter去开发App尝鲜;
    对于小团队,不推荐使用纯Flutter,出了问题,解决不了,浪费时间;
    对于商业项目,不推荐使用纯Flutter,体验不好,埋坑时间不少。
    与硬件强相关的项目,不推荐使用纯Flutter。

    2、Flutter学习路线

    这里写一下我的学习路线吧,仅供参考。
    1、首先准备开发环境和开发工具。
    Flutter中文网
    点击“快速开始”,跟着走就可以了。我的是Mac电脑,编辑器我用的是VSCode,模拟器用Xcode的iOS模拟器。用Android Studio也可以,不过我感觉太大了,模拟器也很卡。。

    2、安装完环境后,我建议先不看Flutter中文网下面的内容,先学Dart。
    Dart中文网
    学两三天就够了,比如基本语法,变量,类,对象,操作符,函数方法这些,弄明白基本的差不多就可以继续Flutter中文网下面的Hello World了。

    3、接下来就是从基本控件开始学习,也可以跟着这本书走。
    Flutter实战
    先学button、text、image、textfield、listView这些基本控件,能做UI了,再学网络,最后找找第三方库用一用就差不多了。
    还有一些好的学习网址:
    Flutter 入门系列
    Flutter基础Widget之按钮
    Flutter 基础组件之 Container
    Flutter基础—定位对齐之对齐
    Flutter Stack布局中定位的方式
    Flutter - State类
    flutter控制显示隐藏
    Flutter http请求库dio稳定版发布
    用flutter写一个精美的登录页面
    学习Flutter的Demo工程,以及Flutter资源集合
    flutter常用库
    flutter库搜索

    4、UI学的差不多了,网络请求也能拉到数据了,就能做页面出来了,下一步就是集成到已有的原生项目中,与原生交互,然后打包发布了。
    Flutter-现有iOS工程引入Flutter
    Flutter实战:手把手教你写Flutter Plugin
    Flutter跟Native相互通信Platform Channels
    Flutter的需要与原生交互的一些常用库

    3、Flutter使用中存在的一些问题

    任何技术都不能忽略平台背后的商业推动,我不是一个跨平台技术的追求者,我个人也一直觉得跨平台是个伪命题。

    Flutter目前存在的问题很多:

    1、适配问题:Flutter说的是跨平台,但是没有很完美的解决各个屏幕差异所带来的问题。实际上还是需要去做一些适配;

    2、性能问题:目前看这个问题特别突出,在一些性能低的Android手机上,会出现一些卡顿问题。在一些高端机型上,一些转场动画,效果也不是特别理想,一旦涉及到一些复杂的页面,切换页面就会出现很明显的卡顿问题;

    3、硬件相关问题:这个也是Flutter需要急需解决的问题,第三方硬件相关插件质量参差不齐,官方插件质量也堪忧。例如官方的camera插件,各种crash问题。

    4、生命周期问题:插件层对生命周期的监控,是App级别的,无法针对某一个页面。Flutter中控件也没有很明确的生命周期这一概念,就是两三种状态的切换,没有像React中的生命周期,更不用说像Native中的那样。

    5、现有项目正在进行当中,Flutter的开发工具链不成熟,对于快速迭代的项目,如果完整的使用Flutter,应用项目成本非常高,也不切实际。

    6、现有的开发人员对Flutter的技能熟悉程度,无法满足批量定制性开发方案
    以上就是为什么选在现有项目中集成Flutter的原因。

    相关文章

      网友评论

        本文标题:Flutter使用回顾

        本文链接:https://www.haomeiwen.com/subject/vifrmqtx.html