『CSDN』不用掉一根头发!用 Flutter + Dart 快速构建一款绝美移动 App( 二 )


其次 , Flutter和Dart都来自Google(这既可以看作缺点 , 也可以看作是优点) 。 好的方面是Google是科技巨头 , 如果他们想维护 , 那么资源和人力都很充足 。 但缺点是 , 虽然众所周知Google会推出非常实用的技术和服务 , 但也有可能随时将其淘汰出局 。 Flutter也面临这样的风险 , 但近期内不太可能会发生 , 甚至在未来几年也不会 。 因此 , 虽然这是一种风险 , 但是再说一次 , 任何新技术都有同样的风险 , 而且每种技术都有这样的经历 。
使用哪些工具?
我们可以使用最常见的编程IDE(Android Studi、IntelliJ IDEA , 甚至还有支持Flutter的Visual Studio Code插件)来开发Flutter , 这意味着大多数开发人员都不必离开熟知的环境 。 就我而言 , 最近我一直在从事面向Web的工作 , 所以我选择了VS Code , 但这不会对开发造成任何影响 , 因为文本文件说到底仍然只是文本文件 。 我选择的平台是Android(选择这个平台的原因是因为我既没有iPhone、MacBook , 也没有iMac) , 因此看起来无论如何我都会安装Android Studio , 因为Android Studio提供了虚拟机 。
除了IDE之外 , 还有Flutter/Dart DevTools , 这是一个套件 , 用于监视应用程序的性能 , 此外还有一些调试工具 , 例如Flutter查看器 , 类似于WebTools 。 在调查应用程序的性能瓶颈时 , 实时资源监控器非常实用 , 还有层级查看器可以找出困扰着许多应用程序和网站UI的冗余嵌套 。
入门:“Hello World”
下面我们来编写一个管理保单的移动应用程序 , 还有比这这更令人兴奋的事儿吗?请务必注意 , 我可能会尝试以不同的方式来开发有些功能 , 所以可能会导致代码不一致 。 这个应用程序包含了一些解决常见问题的想法和示例 , 孰优孰劣留给个人评判 。
应用的简单概述:

  • “主页”画面显示已购买的保单摘要
  • 创建一个保单
  • 通过向导完成保单创建
  • 保单可以是不同的类型
  • 保险主题可以是不同的类型
  • 用户需要账号(不能匿名使用)
  • 该应用程序是一个“轻量级客户端”——所有字典、数据和操作都存储在服务器端
  • 请求/响应主体格式为JSON
我们通过Mockoon模拟API , IDE的话我选用VS Code , 设备则由Android模拟器提供(我选择了Nexus 6 API 28) 。 首先 , 我根据Flutter官方网站上提供的官方指南创建了一个空白应用 , 随后创建Flutter项目的准系统 。 就我个人而言 , 我创建了如图1所示的结构 。 完整的应用代码请点击这里(https://github.com/asc-lab/personal-insurance-flutter-poc) , 我建议你参照着本文一起看 。
『CSDN』不用掉一根头发!用 Flutter + Dart 快速构建一款绝美移动 App
本文插图
[图1] 初始阶段的项目
查看项目的基础 pubspec.yaml文件包含了项目的依赖项、资源文件和版本号 , 非常简单明了 。 此外 , 该文档还包含了许多说明 , 但我们不会修改这些说明 , 至少不会经常都修改 。 对我们来说最重要的是lib文件夹 , 因为其中保存了应用程序的起始文件main.dart文件 , 以及其中的main方法 。 这是应用程序的入口点 , 任何代码都不应超出该点 。 好了 , 下面该搭脚手架了 。主页是应用程序的默认页面 , 也是默认的路由 。 我们将在主页展示一系列的保单 。 因此 , 通过我们的api获取字典肯定很合适 。 我构建了一个调用API服务的单例服务 , 并在应用程序启动之前就获取字典数据 , 这样在应用程序的任何位置都可以使用这些数据 。 这个字典名叫CommonData , 而字典的API服务是DictionariesService 。 二者都位于lib/services文件夹中 。 我还添加了一个通用的帮助服务(名叫Helper) , 提供默认填充、常用转换等功能 。
『CSDN』不用掉一根头发!用 Flutter + Dart 快速构建一款绝美移动 App


推荐阅读