美文网首页Flutter
Flutter项目实战

Flutter项目实战

作者: buhuiming | 来源:发表于2020-01-02 11:57 被阅读0次
    Flutter框架发布至今已近两年,Flutter SDK从2018年12月到2019年底,从1.0到1.12,陆陆续续发布了过10个版本。框架优化,系统上的兼容,API的完善等,让Flutter在众多混合开发框架中显得更加出类拔萃。下面介绍一下,参与到Flutter实战,需要哪些准备。(下面有关内容是基于从Android应用基础开发)

    一、确定环境、开发工具

    Windows7/Windows10/Mac
    8g以上内存、i7处理器
    Android Studio3.2+(推荐)、VsCode
    Android SDK 19+
    Flutter SDK版本v1.9.1+hotfix.6及以上
    Dart SDK版本v2.4.0及以上

    一、环境搭建

    第一步是开发工具下载,按照开发工具版本,一般不存在什么问题;第二步是Flutter SDK、Dart SDK下载;第三方开发工具安装插件级系统环境变量的配置。推荐一个参考环境搭建(包含了Windows和Mac环境)。环境搭建一般存在的问题:下载失败、镜像无法映射、系统环境配置错、版本不一致、Android Studio下缺少Android SDK等。

    二、Dart语言基础

    如果不了解Dart语言,有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手Dart。当然,如果是iOS开发者,也不用担心,Dart中也有一些与Swift比较相似的特性。但是,由于是不同的角色参与开发和维护项目,Dart基础部分仍需花些时间学习,参与者彼此之间相互学习,有助于提高开发项目的质量和效率。推荐:Dart基础篇深入了解Dart

    三、Flutter基础

    ● 基础、进阶学习(学习、复习指南
    ● 根据APP常有功能,需要掌握到的一些Flutter知识点:
     1、Flutter Widget的生命周期(例bottomNavigationBar切换页面,页面状态;page可见/不可见时的状态);
     2、Flutter 系统权限申请(permission_handler),其他:webview、notification、player、keyboard;
     3、Flutter 数据存储(sqflite、shared_preferences);
     4、Flutter 全局Loading(自定义加载圈);
     5、APP检查更新、下载;
     6、Flutter页面关闭,如栈中有ABCDEF页面,F页面操作按钮,需显示C,即需要关闭DEF页面(需要使用命名路由)
     7、返回不退出app, android_intent
     8、待续

    四、原生开发基础(这里以Android为例)

    这里涉及的知识点较多,结合flutter项目,需要掌握的一些点主要有:
    ● flutter项目创建,Android Studio->File->New->New Flutter Project->默认选Flutter Application->输入项目名称、SDK地址、存储地址->Edit 包名(严格按照规范命名)->完成
    ● 打开Flutter中Android项目,File->Open->找到flutter项目下的android->选择打开;
    ● 顶部build,可以选择Clean Project/Rebuild Project,重新编译Android项目(环境中存在多个版本的gradle的时候,有时Clean Project/Rebuild Project依然会报错,这个时候选择File->Invalidate Caches/Restart...);
    ● android项目下src文件夹下build.gradle文件,包含项目库的依赖、app的属性的声明、打包配置等;
    ● main目录下的AndroidManifest.xml,权限、key、Android组件的声明;
    ● MainActivity继承自FlutterActivity,应用入口,初始化工作;
    双向交互
    Activity的几个生命周期
    abiFilters的理解(查看Flutter框架支持的abi:Flutter项目下->build\app\intermediates\transforms\mergeJniLibs\debug\0\lib)

    五、调试、打包

    ● Log输出,在相应代码处输入日志,结合自定义LogUtil(日志输入总开关);
    ● 断点调试,有两种方式

    image.png
     1、在代码行数字旁双击(有红点),选择顶部按钮(Attach Debugger to Android Process),选择运行环境(手机),选择包名,ok,便可以断点调试;
     2、在代码行数字旁双击(有红点),选择顶部按钮(debug),app便会已断点方式重新安装运行
    (Android项目可以使用两种方式,我的Flutter插件只支持选择2)
    ● debug/release打包,底部选择Terminal,输入flutter build apk,边进入打包,输出目标在项目下build\app\outputs\apk,有debug和release包
    ● 签名,apk签名有多种方式,这里不展开细讲
    打包、签名参考

    六、心理准备

    遇坑是不可避免的事情,甚至遇到些超出解决能力范围的问题,平静心态迎接,通过百度、讨论、改变解决方案等方式处理每一个worring/error。

    七、Nice DemoNice Article

    学习和掌握了项目实战的知识点后,如果要让项目更好的维护和拓展,扔需学习他人优秀的技巧,最后运用到真实场景中,成为自身的技能。

    相关文章

      网友评论

        本文标题:Flutter项目实战

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