前 言
十几年前,iPhone的诞生开启了全新的移动互联网时代。移动互联网产品以迅雷不及掩耳之势迅速占领市场,改变人们生活的同时默默地冲击着传统互联网行业。大到世界500强的公司,小到摊贩,都能享受到移动互联网的便捷。同时,移动开发领域的竞争也在日益加剧,做出一款易用、美观、稳定的App已成为企业追求的目标。这就要求开发者能够适应加快产品上线的步伐、快速进行更新迭代的需求,本书便为企业和开发者提供了一套解决方案——Flutter跨平台开发。
本书以实践为主,理论为辅,二者相结合的方式,阐述了Dart编程语言的基础和高级用法,以及Flutter框架的开发。本书图文并茂、通俗易懂,从最基础的编程语言语法开始,逐步实现从0到1开发出一款App的目标。无论是想要入门跨平台开发的朋友,还是有一定编程基础的开发者,都能从本书中获益。
本书特色
1.侧重基础,学习无门槛
本书内容涵盖了开发Flutter App必需的Dart编程语言知识,从内容上特别注重对基础知识的理解和把握。万丈高楼平地起,没有稳固扎实的地基是不行的。
2.示例贴近生活,贴近实际开发场景
本书采用的示例,大多是生活或开发中的典型示例,更易于理解,也更贴近实际开发场景。在某些章节的练习中,还可以自己动手设计。
3.运用大量实际运行效果图,内容翔实
本书在讲解Flutter的知识点时,运用了大量的实际运行效果图。这一方面可以直观地查看运行结果;另一方面在你自行练习时,也可以直接对照效果图,自行编写代码,而后对照。实现需求的方法不止一个,而这种根据图片编写代码的方法更能激发你的思考。
本书内容及体系结构
第1章 Flutter简介
本章回顾了移动开发的历史和现状,详细分析了Flutter的优点,同时还介绍了Flutter框架的整体架构模型,以便可以在了解跨平台移动开发历史的同时了解Flutter框架的重要概念。
第2章 初次遇见Flutter
本章以mac OS系统为例,详细讲解了开发Flutter App所需要的环境搭建过程。对于某些需要注意的地方和容易出错的位置均做了注明,对于常识性的知识也做了简明扼要的讲解。通过本章的学习,你可以实现在Android和iOS平台上运行起简单的Flutter App——计数器。此外,本章还介绍了Flutter的热修复特性。
第3章 Dart语言基础
本章讲解了Dart编程语言的基础知识。Dart语言本身易于学习和使用,但是为了打好基础,还是需要对这部分知识进行系统的学习。
第4章 Dart语言的面向对象应用
本章讲解Dart语言的面向对象特性,该特性是Dart编程语言的重要特性之一,在实际开发中也会经常用到。
第5章 Dart语言的高级使用技巧
本章介绍了“库”的概念、异步处理的方法等,它们在实际开发中都会经常使用。
第6章 绘制赏心悦目的界面
本章详细描述了Flutter框架提供的常用布局和组件,以及动画等界面相关的内容。通过本章的学习,你可以做出各式各样的界面样式,因此这部分内容既可以用来学习使用各种组件,也可以用来作为工具书,以便在日后的开发中随时查阅。
第7章 数据的传递和持久化保存
本章详细描述了如何使用Flutter框架提供的功能实现数据的保存和网络请求,具体涉及本地文件的读写、数据库的增删改查、保存App设置参数,以及HTTP请求响应处理等。
第8章 使用设备硬件实现更多功能
在本章中,你可以通过运用多种库实现设备硬件的访问。比如,GPS定位芯片、摄像头、蓝牙模块、距离传感器及NFC等。
第9章 使App更加通用——国际化的实现
本章详细讲解了如何添加App的多语言功能,实现在不同语言环境下自适应语言显示的目的,这对于需要在多个国家上线的App来说格外重要。
第10章 与原生代码交互
本章详细介绍如何让数据在Flutter框架和原生代码之间传递,以及方法的调用。
第11章 Material Design(Android)风格设计
除基本组件外,Flutter提供了完全符合Android平台设计哲学的界面库。如果想要打造完全Android风格的App,本章的内容就不能错过。
第12章 Cupertino(iOS)风格设计
本章主要介绍iOS风格的组件库。同样地,如果想要打造完全iOS风格的App,本章的内容也是不能错过的。
第13章 实战演练:头条新闻
本章通过实际开发案例带你体会一个App从0到1的诞生过程。同时,在最后提出了更多产品化的要求,你可以结合自身使用习惯继续完善这个App。
第14章 测试与调试应用
本章主要介绍如何对代码进行调试和对App进行测试。无论是测试过程还是代码调试过程,有一套好用的工具尤为重要,本章将为你介绍这些工具。
第15章 发布应用
本章针对Android平台和iOS平台,分别介绍了如何将App打包发布到应用市场中。
本书读者对象
● 想要从事Flutter App开发的朋友。
● 想要入门移动互联网开发的0基础学员。
● 有一定编程经验,想要多掌握一门语言或涉足移动开发领域的开发者。
● 对移动App开发有浓厚兴趣的学生。
● 各企业负责移动App研发的产品经理和项目经理。