近期学习了下Flutter开发,在学习了一阵之后,搭建了一个很土的框架,并没有使用网上的BLOC或者fish_redux框架,只是一个Android的MVP框架的变体。下面是工程的大致结构,是看着工程结构手写的,可能有漏的,主要是没找到什么能导出工程结构的插件。
flutter框架结构在business文件下放上各个业务模块,每一个业务放在一个文件夹,其中的page文件只处理画面代码;service文件处理业务逻辑;presenter文件只存在网络请求;contract文件是作为接口文件,勾连page文件和service文件,service文件和presenter文件。
在base文件下放上基类,basepage基类文件中是画面上一些共同代码,并简化生命周期,使page文件简化代码。而basemvp文件只是放上contract文件中接口的基类。basemodel文件呢,是用来包含status,errorcode,errormsg之类的一些接口公共字段,但是 json_serializable 并不支持泛型解析,所以一般一个model只能做两个model,一个model是业务主体,另一个继承basemodel基类并包含业务主体的model,虽不优雅,但至少能用。
其他文件夹大致看下就能明了,只是view文件夹中的文件是需要自己在开发过程中不断增加的,所以努力吧。
flutter工程还是需要原生代码支持的,比如相机、相册、定位等等等等等等。甚至Log也要。没办法,Flutter不支持,跨平台嘛。
本人技术一般、写文字的技术更一般,所以将就看看吧。
网友评论