基本信息


【插图】

编辑推荐
本书由资深架构师撰写,从实战角度讲解Flutter。
从基础组件的详解到综合案例,从工具使用到插件开发,包含大量精选案例和详细实操步骤,还有配套视频课程可帮助读者快速入门。
内容简介
作译者
目录
第1章 开启Flutter之旅 1
1.1 Flutter的特点与核心概念 1
1.1.1 一切皆为组件 2
1.1.2 组件嵌套 2
1.1.3 构建 3
1.1.4 处理用户交互 3
1.1.5 状态 4
1.1.6 分层的框架 5
1.2 搭建开发环境 6
1.2.1 Windows环境搭建 6
1.2.2 MacOS环境搭建 12
1.3 写第一个Flutter程序 16
第2章 Flutter基础知识 22
2.1 入口程序 22
2.2 Material Design设计风格 23
2.3 Flutter主题 23
2.3.1 创建应用主题 23
2.3.2 局部主题 25
2.3.3 使用主题 26
前言
Hybrid开发主要依赖于WebView,但WebView是一个重量级的控件,很容易产生内存问题,而且复杂的UI在WebView上显示的性能不好。React Native技术抛开了WebView,利用JavaScript Core来做桥接,将JavaScript调用转为Native调用。React Native最终会生成对应的自定义原生控件。这种策略将框架本身和App开发者捆绑在系统的控件上,不仅框架本身需要处理大量平台相关的逻辑,随着系统版本变化和API的变化,开发者可能也需要处理不同平台间的差异,甚至有些特性只能在部分平台上实现,这使得跨平台特性大打折扣。
Flutter是最新的跨平台开发技术,可以横跨Android、iOS、MacOS、Windows、Linux等多个系统,还可以打包成Web程序运行在浏览器上。Flutter采用了更为彻底的跨平台方案,即自己实现了一套UI框架,然后直接在GPU上渲染UI页面。
笔者最早接触的跨平台技术是Adobe Air,写一套Action Script代码可以运行在PC、Android及iOS三大平台上。笔者与朋友开发视频会议产品,需要最大化地减少前端的开发及维护工作量,所以,我们先后考察过Cordova、React Native及Flutter等技术。我们觉得Flutter方案更加先进,效率更高,后来就尝试用Flutter开发了开源的WebRTC插件(可在GitHub上搜索Flutter WebRTC)。
写作本书的目的是传播Flutter知识(因为Flutter确实优秀),想在为Flutter社区做贡献的同时也为我们的产品打下坚实的技术基础。在写作本书的过程中,笔者查阅了大量的资料,使得知识体系扩大了不少,收获良多。
本书主要内容
第1章介绍Flutter的基本概念、状态生命周期、Flutter框架,并写第一个Flutter程序,来感受一下Flutter之美。
第2章介绍几个重要知识点,如入口程序、Material Design设计风格、Flutter主题、使用包资源、状态管理Provider使用、Http请求处理、Dio库的使用以及Json与数据模型处理。
第3章简单介绍Dart语言。Dart语言是Flutter SDK指定的语言,我们很有必要补充一下它的基础知识,包括语法特性、基本语句、面向对象等。
第4章介绍常用组件。Flutter里有一个非常重要的核心理念:一切皆为组件,本章主要讲解开发中用得最频繁的组件,如容器组件、图片组件、文本组件、图标组件和表单组件等。
第5章介绍Material Design风格的组件。Material Design风格是一种非常有质感的设计风格,并提供一些默认的交互动画。本章将分类介绍这些组件。
第6章介绍Cupertino风格的组件,这是一类iOS风格的组件,如CupertinoTabBar、CupertinoPageScaffold、CupertinoTabScaffold、CupertinoTabView等。
第7章介绍页面布局的基础知识和技巧,如基础布局处理、宽高尺寸处理、列表及表格布局等,最后通过一个综合布局示例来演示如何编写复杂的页面。
第8章介绍如何处理手势,如轻击、拖动和缩放等。Flutter中提供GestureDetector进行手势检测,并为手势检测提供了相应的监听。
第9章介绍如何加载、处理、展示资源和图片,如添加资源和图片、自定义字体等。
第10章介绍组件装饰和视觉效果的处理,如Opacity(透明度处理)、DecoratedBox(装饰盒子)、RotatedBox(旋转盒子)、Clip(剪裁处理)和CustomPainter(自定义画板)。
第11章介绍Flutter原生路由导航处理、Fluro企业级路由导航处理,还介绍了Key-Value(键值对)存储、文件存储以及Sqf?lite等持久化操作。
第12章介绍动画的基本概念和原理,以及Flutter动画基础类的使用。通过字体放大动画、缓动动画、遮罩动画等示例详细介绍如何自定义动画。
第13章介绍Flutter插件开发的入门知识。Flutter插件可以和原生程序交互,比如调用蓝牙、启用WiFi、打开手电筒,等等。通过获取系统版本及电池电量插件的示例详细介绍了插件的基本开发步骤。通过加载网页插件示例详细介绍了Flutter与原生视图集成的方法。
第14章介绍开发工具及使用技巧,并介绍了几款常用的IDE工具,从代码的编写、辅助功能、程序调试、性能分析等多方面讲解工具及使用技巧。
媒体评论
本书主要特点:
?极易上手——知识点配有丰富的小案例,只需要简单几步,就能让程序运行起来。
?详细说明——对Flutter各个组件的用法配有详细的属性说明。
?面向实战——全书配有综合案例,可以实现复杂的应用界面。
?实操性强——从安装、开发、运行、测试、打包、发布多个方面详细描述使用步骤。
?覆盖面全——从基础组件、高级组件到复杂布局,从动画、手势到路由导航,从插件开发到网络数据请求等,进行全方位详解。
本书所有案例代码请访问以下网址:http://www.flutter100.nethttps://github.com/kangshaojun配套视频课程网址:https://flutter.ke.qq.com/