首页 > 其他分享 >flutter开发总结2

flutter开发总结2

时间:2023-12-19 17:32:13浏览次数:35  
标签:总结 widget 界面 string 不同 目录 page 开发 flutter

整个flutter的项目的大局观:分层架构、单一职责、模块化

我们遵循这几种构建的理念,在不同的项目中可能具体的实现不同,但是大体是这样的。

分层架构主要体现在如:业务逻辑层、数据层、表示层

单一职责和模块化:common代表一些通用的工具类,data负责接收数据相关,page代表每个界面,login是一个登录,resource负责一些文件的读取和配置。如common中存在古筝这个项目中的一个返回按钮

在此之外呢,可能有几个单独的dart文件 放在根目录下,比如App的初始化配置,整个界面UI的规范(一些字体的大小)

当UI设计图出来以后,整个目录结构可以按照这种方式建立起来,这是搭建项目初期,一个项目肯定有登录,数据的交互,公用模块,page页面展示,数据共享,后续随着产品的迭代,在每个目录中继续拆分这种目录。

page 是开发中占比最多的

当设计图出来以后,page的目录就可以按照不同的功能分成不同的命名,如主界面、模拟器、谱子、启动提示(splash)、调音器。

在每个功能里面,分成此功能下能用到的entity实体,notifier数据共享

在每一个功能里面,根目录放一个主要的widget,负责管理不同的子widget。 不同的子widget构成不同的小widget,再组合起来构成某一个有实际功能的widget。不同的子widget的命名可以按照界面布局的逻辑:比如左中右,在同一目录下,以一个他是什么,这种命名(比如:string_line是琴弦,string_background是背景,string_left是左侧某个,个人觉得可以给他改为string_left_slider,意思是左侧滑块),但是现在可以区分出来,因为左侧就一个东西,命名没有对错,易懂且没歧义就是好的。

标签:总结,widget,界面,string,不同,目录,page,开发,flutter
From: https://blog.51cto.com/u_16392501/8891595

相关文章

  • 一些有趣和实用的Java开发技巧和编码技巧
    当涉及到Java开发技巧和编码技巧时,有一些有趣和实用的技巧可以帮你提高效率和代码质量。以下是一些示例:1.使用Lambda表达式List<Integer>numbers=Arrays.asList(1,2,3,4,5);//使用Lambda表达式计算偶数的总和intsum=numbers.stream().(n->n%20......
  • 租赁系统|租赁小程序开发|北京租赁系统提升行业发展
    租赁小程序定制功能是为了满足特定租赁服务的个性化需求而开发的一套功能模块。通过定制化开发,我们能够根据您的业务模式和需求,量身打造出适合您的租赁小程序。无论您是汽车租赁、房屋租赁、设备租赁或其他租赁服务,我们都能够为您提供定制化的解决方案。系统开发优势是我们在租赁......
  • Unity引擎2D游戏开发,受伤和死亡的逻辑和动画
    一、创建受伤动画找到相关受伤的动画素材,然后在Animation窗口创建动画。此处不再赘述。此时在Animator窗口删除刚才创建的两个动画,因为现在要采用另一种方式创建动画:采用Animator的Layer方式使用Animator→Layer创建受伤闪烁动画受伤闪烁动画意为受伤后短暂无敌时间点......
  • Flutter 用PageView实现轮播
    import'package:flutter/material.dart';classPageSwiperextendsStatefulWidget{constPageSwiper({super.key});@overrideState<PageSwiper>createState()=>_PageSwiperState();}class_PageSwiperStateextendsState<PageSwi......
  • CSP-S 400分 题单总结
    CSP-S400分题单总结(未完待续)洛谷题号CSP-S400分题单总结(未完待续)洛谷题号知识点/类型T2T3T4T5T6知识点/类型T2T3T4T5拓扑排序 180710387077 树形DP 862530474362 241971132899   874440843177 271219833243  ......
  • flutter去除隐藏标题栏
    使用 SystemChrome 类来控制系统UI元素的显示和隐藏import'package:flutter/material.dart';import'package:flutter/services.dart';voidmain(){runApp(MyApp());}classMyAppextendsStatelessWidget{@overrideWidgetbuild(BuildContextco......
  • Flutter Dialog Toast 弹窗
    AlertDialogshowDialog(barrierDismissible,//点击遮罩背景是否关闭弹窗context:context,builder:(context){returnAlertDialog(title:constText('Alert弹窗'),content:constText('Alert弹窗内容'),actions:[TextBu......
  • flutter中去除导航栏与状态栏
    方法一SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,overlays:[SystemUiOverlay.bottom]);//隐藏状态栏上方黑边SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,overlays:[SystemUiOverlay.top]);//隐藏导航栏SystemChrome.setEnable......
  • flutter杂知识点
    child和children用于在一个容器小部件(如Container、Column、Row等)中放置一个或多个子小部件1.child属性用于容器只包含一个子小部件的情况;2.children属性用于容器包含多个子小部件的情况。Center小部件(居中、定位、多个方向上居中)Center小部件用于将其子小部件放置在父容器的......
  • 避坑合集|芝麻免押失败排查思路超详细总结(小程序场景)
    在使用小程序对接芝麻免押时,遇到了一些报错,估计把这个接口的坑都踩了个遍,这篇汇总一下我在芝麻免押上遇到的免押失败问题合集,大家注意避坑~对接流程......