美文网首页收藏
Flutter项目结构

Flutter项目结构

作者: 愿你我皆是黑马 | 来源:发表于2022-01-19 15:54 被阅读0次

    介绍

    下面是本人自己写Flutter项目用的目录结构。因为公司还没有使用Flutter。纯属个人项目的目录结构。所以目的是希望有大型Flutter项目经验的前辈帮忙指出各个地方的不足之处。


    界面

    • 箭头4:所有界面都在此目录下创建一个对应的文件夹。以首页home的第一个tab栏为例(home_tab1)
    • 箭头5:为一个页面。箭头5指向文件夹根据名字可知是首页tab栏1的页面。内部必有一个dart文件(箭头7)继承自统一操作生命周期的父Widget(箭头2)。和只有在该页面中才使用的组件组成的一个文件夹widget(箭头6)
    • 箭头6:是当前页面拆分出来的一个个小组件,只在当前界面使用。不是公共的,当需要公共的组件则需要放入箭头3文件夹中。
    • 箭头3:存放公共组件,每个组件以Comm开头和页面内组件(箭头6)区分开。
    • 箭头1:存放不是单独页面仅有的Widget
    • 箭头2:定义页面的公共BaseStatefulWidget、公共的BaseState<BaseStatefulWidget>和公共的生命周期事件处理器。
      所有页面都必须继承自该BaseStatefulWidget,且内部的State必须继承自BaseState<BaseStatefulWidget>。
      父类BaseState中自动使用继承自WidgetsBindingObserver的LifecycleEventHandler。
    • 箭头7:表示一个页面的入口文件(路由指向的都是这个位置的Widget)。

    网络请求

    网络请求这部分,用的是在空闲的时候封装的一套接口请求框架。为了统一各种服务器报文的json数据格式。

    • 将网络请求初始化代码写在config/http_init中,并在main.dart的启动方法中调用初始化。
    • 请求接口:
    • 响应实体类

    路由

    • 通过一个路由工具类通过Navigator在各个路由之间跳转
    • 在mian.dart配置路由
    • 路由跳转
      UtilRouter.pushName(context, UtilRouter.login); //添加后,跳转登录界面
      ... 等等

    常量

    • 公共颜色、尺度、字符串、webveiw打开网页的一系列常量的定义。

    插件

    • 插件初始化:在config/*下编写各类插件需要的初始化操作,并且在main.dart中调用。

    其他的大多数个人封装的一些平台插件了,比如:

    • 网页离线包:由于开发原生时写了支持离线包的webview,所以写成了flutter插件。
    • 权限请求:好像有出来权限请求框架,还没来得及测试。就直接用来自己的。
    • 拍照读取相册:功能比较简单。看了下社区的这个后,后面每次就先看看社区有没有比较好的,而不是自己写了(个人项目)。
    • ...

    相关文章

      网友评论

        本文标题:Flutter项目结构

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