Flutter开发——框架搭建

639 阅读2分钟
  • 状态管理:状态管理是进行flutter项目开发必须掌握的一项技能。解决方案Provider,Bloc,GetX中任选一个。
  • 国际化语言管理:intl具体使用方法。(使用方法)该链接里有App内切换语言的方法实践。
  • 框架:MVVM
  • 网络请求:Dio
  • 加载框/Toast:EasyLoading
  • 列表加载和刷新:pull_to_refresh
  • 询问手机权限:sn_progress_dialog
  • webView组件:webview_flutter。由官方提供的webview组件,除了能在flutter中嵌入网页,还支持js和flutter互通消息
  • 从拍照/相册获取图片:wechat_assets_picker,一个支持iOS和Android的Flutter插件,用于从图像库中挑选图像,并允许使用相机拍摄新照片,自带授权管理。
  • 数据存储/本地化:shared_preferences
  • 路由管理:GetX能做。(好强大,一定要看下源码了解一下)
  • 数据转模型:json_serializable 新增插件:
  • flutter_screenutil:屏幕适配
  • cached_network_image:图片加载插件。有缓存功能(类似于iOS的SDWebImage)
  • flustars:Flutter 常用工具库 github.com/Sky24n/flus…

这些库的使用方式:pub.dev。在这里个链接里面搜索库的名字就能找到使用方式。

这些框架/插件 我暂时没学过,找的是开发者使用时反应比较好的一些框架/插件,后续会在开发中慢慢学习并记录。

关于Icon的获取:阿里巴巴矢量图库

看了一些App,决定使用Flutter模仿微信做App。 选择微信的好处是:

  1. 成熟的功能需求和交互。
  2. 基本上微信中所有需要的数据都可以用假数据(本地数据)来实现。
  3. 涉及的功能,比较全面(拍照相册获取图片,文件上传,文件/图片下载,保存到本地(手机文文件夹里))

模仿微信估计用不到网络请求(因为都是用本地数据模仿),所以准备在项目中,插入一个天气预报的小应用来使用网络请求(天气预报接口使用网络上免费接口)。

要实现微信功能会涉及到如下技术点:

  1. 网络请求;
  2. Json转Dart Model类;
  3. 全局状态管理;语言、主题等都需要全局共享。
  4. 持久化存储;保存用户信息,联系人信息等。
  5. 支持国际化、Intl包的使用

一些小技术点: 图片/视频压缩, 文件(pdf/word/excel)视频的下载和预览, 远程推送接收(注册一个极光测试账号,在极光后台进行推送测试信息。)