Flutter入门指南

如果你是刚入门Flutter的工程师,可以参考这篇文章,我会告诉大家自己常用的套件以及如何规划档案的分类!
最近有新开一个部落格是在介绍Flutter相关的文章,大家可以去看看~
GetX
Getx是一个非常轻量化的套件,他的主要功能为状态管理(State management)、路径管理(Route management)和依赖管理(Dependency management),非常容易上手适合刚入门的工程师来使用,他也有提供中文的说明,大家可以进去看看!
https://pub.dev/packages/get

档案规划
在我使用GetX时,我会这样规划自己的档案分类
http://img2.58codes.com/2024/20151194Sqv5YkbrlY.png

Config
http://img2.58codes.com/2024/20151194Rowrh5wdaJ.png

我会拿来放一些常数,像是timeout的时间,因为我是使用Firestore来储存资料,所以我还会在这边放我资料库路径的参数。

class Paths {       Paths._();       static const String post = 'post';       static const String user = 'user';}

Helper
http://img2.58codes.com/2024/201511949PhDxzYC3c.png

Helper则是放一些工具,像是数学工具来做一些加减乘除或是Matrix的处理,又或是图片处理,来选择相簿内的照片等功能。

Models
http://img2.58codes.com/2024/20151194lhbXC7e6Ir.png

Models放各种会使用到的资料结构,可以根据自己的专案所需再细分成各个资料夹,各个model内则建议有一些内建的function,像是copyWith, toJson, fromJson等基本的功能,之后有机会再介绍。

Network
http://img2.58codes.com/2024/20151194SOlXxQhyRz.png

Network则是根据每个人呼叫api等等的习惯来决定里面的资料夹和档案,我个人习惯使用dio来呼叫api,而repositories则是用来处理Firestore相关的api
Pages
http://img2.58codes.com/2024/201511944FbAG8BQkr.png

Pages就是app上的各个页面,而里面又会分成一个主画面 + 一个getX的controller(GetX的binding我也会写在里面) 再加上一个widgets的资料夹,当然也可以根据专案的複杂程度再细分成不同的结构。

Routes
Routes则是用来处理GetX的路径

class Routes {  Routes._();  static const homeRoute = '/home';  static const splashRoute = '/splash';   static final List<GetPage> routes = [    GetPage(name: splashRoute, page: ()=> const SplashPage(), binding: SplashBinding()),    GetPage(name: homeRoute, page: ()=> const HomePage(), binding: HomeBinding()),    ];   }

Widgets
Widgets用来放各个页面会共用到的Widgets

今天就先介绍到这里,如果有任何问题、错误或是希望我介绍的主题都可以留言告诉我,谢谢!
这边是我的部落格里面有介绍其他Flutter相关的文章,有兴趣的都可以去看看!


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章