前言
Flutter 是由 Google 推出的一套跨平台的开发框架,能帮助你迅速搭建一款精美且高质量的应用,示例应用如图0-1所示。Flutter 的设计理念是希望可以成为一个灵活、便携的 UI 工具包,适应各种需要绘制屏幕内容的平台。
图0-1 使用 Flutter 搭建精美的应用
对于开发者而言,只需要开发一套代码,即可在移动端(Android/iOS)、Web、桌面、嵌入式等多端同时运行Flutter应用。Flutter 拥有丰富的组件、接口和社区扩展资源,能够帮助你快速实现目标功能;Flutter 具备的响应式风格框架和热更新能力都将提升你的开发体验,大大提高开发效率。
对于设计师而言,Flutter 可以帮助他们精确地实现设计意图,且无须降低保真度或被迫妥协。同时,Flutter 还可以作为一种高效的原型设计工具为设计师所用。
对于应用的用户而言,Flutter 可以让他们体验美观灵活的界面和顺滑的交互。
Flutter 框架和 Dart 语言都由 Google 公司开源,供所有开发者免费使用。目前,Flutter 已经成为开源社区最活跃的项目之一。
读者对象
有一定的编程基础,或者对某种编程语言有一定的了解(包括但不限于 C、Java、JavaScript、Objective-C 等),能帮你更好地理解 Dart 和 Flutter。但要是没有编程基础,也没关系,本书的章节安排可以让你在实际操作中学会 Flutter 的基础开发,掌握 Dart 编程的基本要领。
对于拥有任一移动平台开发经验的开发者而言,你们将能迅速上手 Dart,体验到 Flutter 的魔力。
同时,推荐大家阅读官方为各平台开发者提供的 Flutter 指南。
给 Android 开发者的 Flutter 指南:
https://flutter.cn/docs/get-started/flutter-for/android-devs。
为 Java 开发人员准备的 Dart 教程:
https://codelabs.flutter-io.cn/codelabs/from-java-to-dart-cn/index.html#0。
给 iOS 开发者的 Flutter 指南:
https://flutter.cn/docs/get-started/flutter-for/ios-devs。
给 React Native 开发者的 Flutter 指南:
https://flutter.cn/docs/get-started/flutter-for/react-native-devs。
给 Web 开发者的 Flutter 指南:
https://flutter.cn/docs/get-started/flutter-for/web-devs。
给 Xamarin.Forms 开发者的 Flutter 指南:
https://flutter.cn/docs/get-started/flutter-for/xamarin-forms-devs。
内容概览
本书将着重介绍 Flutter 在移动端的表现,全书分三部分,共 20 章,概述如下。
在第一部分中,我们将介绍 Flutter 的基础知识,让大家掌握使用 Flutter 开发应用时必知必会的内容,这部分包括第1章到第6章。
第1章是 Flutter 概述,介绍 Flutter 的技术特点和亮点。
第2章是 Dart 语言概述,简单介绍 Dart 语言,着重介绍 Dart 与其他语言不同的地方,感受 Dart 作为现代化编程语言带来的高效率。建议不熟悉 Dart 的开发者阅读。
第3章是开发环境的搭建部分,我们会阐述如何搭建 Flutter 环境,为后面的实际开发做好准备。
第4章介绍一个简单的 Flutter 应用程序 helloworld,该示例会让大家对使用 Flutter 开发移动应用有一个直观的认识。
第5章介绍 Flutter 开发过程中的调试工具,包括断点调试、HotReload(热重载)、HotRestart(热刷新)等调试方式。
第6章从整体层面介绍 Flutter 的核心——Widget,学完这一章后,你就可以了解 Flutter 中基础样式的展示,包括文字、图片、组合布局等。
在第二部分中,我们将在实战中学习 Flutter,从 0 到 1 构建并上线一个待办事项应用,这部分包括第7章到第14章。
第7章整体介绍我们要实现的应用,包括它的主要页面和功能,还将预览将要使用的各项技术点。
第8章是对第6章介绍的 Widget 相关知识的实践应用,我们会在这一章中使用各种 Widget,搭建出待办事项应用的“登录”页面,同时实现一些简单的校验逻辑。
第9章开始介绍 Flutter 中的路由机制,进而实现“登录”页面和“注册”页面的相互跳转。
从第10章一直到第13章,我们将一步步完善待办事项应用,构建“列表”页面等;了解 Flutter 在列表、选择器、动画、PlatformChannel 中的使用和实现。
第14章将完成待办事项应用上线前的准备工作和上线发布工作。至此,一个应用的开发工作将告一段落。
在第三部分中,我们将介绍 Flutter 的扩展功能,以进一步了解 Flutter。
第15章介绍多种数据和状态管理方式,这可以帮你深入理解 Flutter 的状态管理机制,增强代码的可读性,让代码更加易于管理和维护。
第16章和第17章将介绍一些优秀的 Flutter 工具,助力于更加高效地完成高质量应用的开发。
第18章将介绍如何编写测试代码,我们将通过单元测试、Widget测试、集成测试多方位保障整个项目的质量,以及迭代过程中项目的维护。
第19章主要介绍性能优化,其中会提供一些最佳实践和性能优化方式。
第20章会分析 Flutter 的短期规划,共同展望 Flutter 的未来。
代码示例的获取和使用
读者可以前往GitHub 项目 https://github.com/FunnyFlutter/todo_app 获取本书的代码示例1。
1本书的源代码也可从图灵社区本书主页下载。
联系我们
读者可以前往GitHub 使用 issue(https://github.com/FunnyFlutter/TodoApp/issues)与我们取得联系。