当前位置:首页 > 程序设计 >
《Flutter技术入门与实战》电子书封面

Flutter技术入门与实战

  • 发布时间:2020年12月14日 12:25:27
  • 作者:亢少军
  • 大小:162.5 MB
  • 类别:Flutter电子书
  • 格式:PDF
  • 版本:清晰版
  • 评分:7.8

    Flutter推荐

    Flutter技术入门与实战 PDF 清晰版

      给大家带来的一篇关于Flutter相关的电子书资源,介绍了关于Flutter入门、Flutter实战、Flutter技术方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小162.5 MB,亢少军编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.5。

      内容介绍

      Flutter技术入门与实战

      Flutter技术入门与实战 电子书

      内容介绍

      第1章介绍Flutter的基本概念,并搭建*个Flutter程序,来感受一下Flutter之美。

      第2章介绍几个重要知识点,如入口程序、Material Design、Flutter主题、无状态组件和有状态组件、使用包资源、Http请求。

      第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章介绍路由及导航是如何处理的,包括页面的渲染以及数据传递。

      第11章介绍组件装饰和视觉效果的处理,如Opacity(透明度处理)、DecoratedBox(装饰盒子)、RotatedBox(旋转盒子)、Clip(剪裁处理)和CustomPainter(自定义画板)。

      第12章介绍动画效果的制作,包含两个动画组件的使用:用AnimatedOpacity实现渐变效果、用Hero实现页面切换动画。

      第13章介绍Flutter插件开发的入门知识。Flutter插件可以和原生程序打交道,比如调用蓝牙、启用WIFI、打开手电筒,等等。

      第14章介绍开发工具及使用技巧,介绍几款常用的IDE工具,从代码的编写、辅助功能、程序调试、性能分析等多方面讲解工具及使用技巧。

      第15章介绍测试与发布应用,包括:测试应用、发布Android版和iOS版App。

      第16章通过一个综合案例介绍如何使用Flutter实现即时通讯App的界面。

      内容节选

      Flutter是什么?
      Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。

      Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。

      这是一个来自Gallery的演示应用程序, 您可以在安装Flutter并设置好环境后运行Flutter示例应用程序。“Shrine”示例拥有高质量的滚动图片、互动卡片、按钮、下拉列表和购物车页面。 要查看这个和更多示例的代码,请访问我们的GitHub。
      无需移动开发经验即可开始使用。应用程序是用Dart语言编写的,如果您使用过Java或JavaScript之类的语言,则该应用程序看起来很熟悉。 使用面向对象语言的经验绝对有帮助,但一些Flutter应用程序甚至是没有编程经验的人写的!

      为什么要使用Flutter?

      Flutter有什么优势?它可以帮助你:

      提高开发效率

      同一份代码开发iOS和Android

      用更少的代码做更多的事情

      轻松迭代

      在应用程序运行时更改代码并重新加载(通过热重载)

      修复崩溃并继续从应用程序停止的地方进行调试

      创建美观,高度定制的用户体验

      受益于使用Flutter框架提供的丰富的Material Design和Cupertino(iOS风格)的widget

      实现定制、美观、品牌驱动的设计,而不受原生控件的限制

      核心原则

      Flutter包括一个现代的响应式框架、一个2D渲染引擎、现成的widget和开发工具。这些组件可以帮助您快速地设计、构建、测试和调试应用程序。

      一切皆为widget

      Widget是Flutter应用程序用户界面的基本构建块。每个Widget都是用户界面一部分的不可变声明。 与其他将视图、控制器、布局和其他属性分离的框架不同,Flutter具有一致的统一对象模型:widget。
      Widget可以被定义为:
      一个结构元素(如按钮或菜单)
      一个文本样式元素(如字体或颜色方案)
      布局的一个方面(如填充)
      等等…

      Widget根据布局形成一个层次结构。每个widget嵌入其中,并继承其父项的属性。没有单独的“应用程序”对象,相反,根widget扮演着这个角色。
      您可以通过告诉框架使用另一个widget替换层次结构中的widget来响应事件,例如用户交互,替换后框架会比较新的和旧的widget,并高效地更新用户界面。
      组合 > 集成

      Widget本身通常由许多更小的、单一用途widget组成,这些widget结合起来产生强大的效果。例如,Container是一个常用的widget, 由多个widget组成,这些widget负责布局、绘制、定位和调整大小。具体来说,Container由 LimitedBox、 ConstrainedBox、 Align、 Padding、 DecoratedBox、 和Transform组成。 您可以用各种方式组合这些以及其他简单的widget,而不是继承容器。

      目录

      • 第1章 开启Flutter之旅 1
      • 1.1 Flutter的特点与核心概念  1
      • 1.1.1 一切皆为组件  2
      • 1.1.2 组件嵌套  2
      • 1.1.3 构建Widget  3
      • 1.1.4 处理用户交互  4
      • 1.1.5 什么是状态  4
      • 1.1.6 分层的框架  5
      • 1.2 开发环境搭建  5
      • 1.2.1 Windows环境搭建 5
      • 1.2.2 MacOS环境搭建  11
      • 1.3 第一个Flutter程序 17
      • 第2章 Flutter基础知识 23
      • 2.1 入口程序  23
      • 2.2 Material Design设计风格 24
      • 2.3 Flutter主题 24
      • 2.3.1 创建应用主题  24
      • 2.3.2 局部主题  26
      • 2.3.3 使用主题  27
      • 2.4 无状态组件和有状态组件  28
      • 2.5 使用包资源  31
      • 2.6 Http请求  34
      • 第3章 Dart语言简述 40
      • 3.1 Dart重要概念与常用开发库  40
      • 3.2 变量与基本数据类型  43
      • 3.3 函数 46
      • 3.4 运算符 47
      • 3.5 流程控制语句  51
      • 3.6 异常处理  54
      • 3.7 面向对象  55
      • 3.7.1 实例化成员变量  55
      • 3.7.2 构造函数  56
      • 3.7.3 读取和写入对象  57
      • 3.7.4 重载操作  58
      • 3.7.5 继承类 59
      • 3.7.6 抽象类 60
      • 3.7.7 枚举类型  62
      • 3.7.8 Mixins  62
      • 3.8 泛型 63
      • 3.9 库的使用  64
      • 3.10 异步支持  65
      • 3.11 元数据 65
      • 3.12 注释 67
      • 第4章 常用组件  68
      • 4.1 容器组件  68
      • 4.2 图片组件  70
      • 4.3 文本组件  72
      • 4.4 图标及按钮组件  74
      • 4.4.1 图标组件  74
      • 4.4.2 图标按钮组件  75
      • 4.4.3 凸起按钮组件  77
      • 4.5 列表组件  78
      • 4.5.1 基础列表组件  78
      • 4.5.2 水平列表组件  80
      • 4.5.3 长列表组件  82
      • 4.5.4 网格列表组件  83
      • 4.6 表单组件  84
      • 第5章 MaterialDesign风格组件  88
      • 5.1 App结构和导航组件  89
      • 5.1.1 MaterialApp(应用组件)  89
      • 5.1.2 Scaffold(脚手架组件)  94
      • 5.1.3 AppBar(应用按钮组件)  95
      • 5.1.4 BottomNavigationBar(底部
      • 导航条组件)  97
      • 5.1.5 TabBar(水平选项卡及视图
      • 组件)  99
      • 5.1.6 Drawer(抽屉组件)  104
      • 5.2 按钮和提示组件  107
      • 5.2.1 FloatingActionButton(悬停
      • 按钮组件)  107
      • 5.2.2 FlatButton(扁平按钮组件)  109
      • 5.2.3 PopupMenuButton(弹出菜单
      • 组件) 110
      • 5.2.4 SimpleDialog(简单对话框
      • 组件)  112
      • 5.2.5 AlertDialog(提示对话框
      • 组件)  113
      • 5.2.6 SnackBar(轻量提示组件)  115
      • 5.3 其他组件  116
      • 5.3.1 TextField(文本框组件)  117
      • 5.3.2 Card(卡片组件)  119
      • 第6章 Cupertino风格组件 122
      • 6.1 CupertinoActivityIndicator
      • 组件  122
      • 6.2 CupertinoAlertDialog对话框
      • 组件  123
      • 6.3 CupertinoButton按钮组件 124
      • 6.4 Cupertino导航组件集  125
      • 第7章 页面布局  132
      • 7.1 基础布局处理  133
      • 7.1.1 Container(容器布局)  133
      • 7.1.2 Center(居中布局)  137
      • 7.1.3 Padding(填充布局)  138
      • 7.1.4 Align(对齐布局)  140
      • 7.1.5 Row(水平布局)  143
      • 7.1.6 Column(垂直布局)  144
      • 7.1.7 FittedBox(缩放布局)  146
      • 7.1.8 Stack/Alignment  149
      • 7.1.9 Stack/Positioned  151
      • 7.1.10 IndexedStack  153
      • 7.1.11 OverflowBox溢出父容器
      • 显示  155
      • 7.2 宽高尺寸处理  156
      • 7.2.1 SizedBox(设置具体尺寸)  156
      • 7.2.2 ConstrainedBox(限定最大
      • 最小宽高布局)  158
      • 7.2.3 LimitedBox(限定最大宽
      • 高布局)  159
      • 7.2.4 AspectRatio(调整宽高比)  160
      • 7.2.5 FractionallySizedBox(百分比
      • 布局)  162
      • 7.3 列表及表格布局  163
      • 7.3.1 ListView  164
      • 7.3.2 GridView  166
      • 7.3.3 Table  167
      • 7.4 其他布局处理  169
      • 7.4.1 Transform(矩阵转换)  169
      • 7.4.2 Baseline(基准线布局)  171
      • 7.4.3 Offstage(控制是否显示
      • 组件)  172
      • 7.4.4 Wrap(按宽高自动换行
      • 布局)  174
      • 7.5 布局综合示例  177
      • 7.5.1 布局分析  177
      • 7.5.2 准备素材  179
      • 7.5.3 编写代码  180
      • 第8章 手势  185
      • 8.1 用GestureDetector进行手势
      • 检测  185
      • 8.2 用Dismissible实现滑动删除  187
      • 第9章 资源和图片  190
      • 9.1 添加资源和图片  190
      • 9.1.1 指定assets  190
      • 9.1.2 加载assets  191
      • 9.1.3 平台assets  193
      • 9.2 自定义字体  195
      • 第10章 路由及导航  198
      • 10.1 页面跳转基本使用  198
      • 10.2 页面跳转发送数据  201
      • 10.3 页面跳转返回数据  204
      • 第11章 组件装饰和视觉效果  208
      • 11.1 Opacity(透明度处理)  208
      • 11.2 DecoratedBox(装饰盒子)  210
      • 11.3 RotatedBox(旋转盒子)  217
      • 11.4 Clip(剪裁处理)  217
      • 11.5 案例—自定义画板  222
      • 第12章 动画  241
      • 12.1 用AnimatedOpacity实现渐变
      • 效果  241
      • 12.2 用Hero实现页面切换动画  243
      • 第13章 Flutter插件开发 246
      • 13.1 新建插件  246
      • 13.2 运行插件  249
      • 13.3 示例代码分析  250
      • 第14章 开发工具及使用技巧  259
      • 14.1 IDE集成开发环境  259
      • 14.1.1 Android Studio / IntelliJ  259
      • 14.1.2 Visual Studio Code  267
      • 14.2 Flutter SDK  274
      • 14.3 使用热重载  275
      • 14.4 格式化代码  276
      • 14.5 Flutter组件检查器  278
      • 第15章 测试与发布应用  281
      • 15.1 测试应用  281
      • 15.1.1 简介 281
      • 15.1.2 单元测试  282
      • 15.1.3 Widget测试 283
      • 15.1.4 集成测试  284
      • 15.2 发布Android版App 286
      • 15.2.1 检查App Manifest  287
      • 15.2.2 查看构建配置  287
      • 15.2.3 添加启动图标  288
      • 15.2.4 App签名  290
      • 15.2.5 构建发布版APK并安装在
      • 设备上  291
      • 15.3 发布iOS版App  291
      • 15.3.1 准备工作  291
      • 15.3.2 在iTunes Connect上注册
      • 应用程序  292
      • 15.3.3 注册一个Bundle ID  292
      • 15.3.4 在iTunes Connect上创建
      • 应用程序记录  293
      • 15.3.5 查看Xcode项目设置 294
      • 15.3.6 添加应用程序图标  295
      • 15.3.7 准备发布版本  297
      • 15.3.8 将应用发布到App Store  300
      • 第16章 综合案例—即时通讯App
      • 界面实现  301
      • 16.1 项目介绍  301
      • 16.2 项目搭建  302
      • 16.2.1 新建项目  302
      • 16.2.2 添加源码目录及文件  305
      • 16.3 入口程序  306
      • 16.4 加载页面  307
      • 16.5 应用页面  309
      • 16.6 搜索页面  316
      • 16.6.1 布局拆分  316
      • 16.6.2 请求获取焦点  316
      • 16.6.3 自定义TouchCallBack
      • 组件  316
      • 16.6.4 返回文本组件  318
      • 16.6.5 组装实现搜索页面  318
      • 16.7 聊天页面  321
      • 16.7.1 准备聊天消息数据  321
      • 16.7.2 聊天消息列表项实现  322
      • 16.7.3 聊天消息列表实现  325
      • 16.8 好友页面  325
      • 16.8.1 准备好友列表数据  326
      • 16.8.2 好友列表项实现  327
      • 16.8.3 好友列表头实现  329
      • 16.8.4 ContactSiderList类 329
      • 16.8.5 Contacts类 332
      • 16.9 我的页面  333
      • 16.9.1 通用列表项实现  334
      • 16.9.2 Personal类 335

      学习笔记

      python面向对象入门教程之从代码复用开始(一)

      前言 本文从代码复用的角度一步一步演示如何从python普通代码进化到面向对象,并通过代码去解释一些面向对象的理论。所以,本文前面的内容都是非面向对象的语法实现方式,只有在最结尾才给出了面向对象的简单语法介绍。各位道兄不妨一看,如果留下点笔墨指导,本人感激不尽。 下面话不多说了,来一起看看详细的介绍吧 最初代码 3种动物牛Cow、羊Sheep、马Horse发出的声音各不相同,于是在同一个目录下建立三个模块文件: $ tree ..|-- cow.py|-- horse.py`-- sheep.py 三个模块文件的内容都只定义了各自的speak()函数: # cow.pydef speak(): print("a cow goes moooo!")# sheep.pydef speak(): print("a sheep goes baaaah!")# horse.pydef s……

      《Python编程:从入门到实践》第三章:列表简介

      什么是列表呢? 官方说明就是由一些列按特点顺序排列的元素组成。其实可以看出很多个字符串的有序组合吧,里面的内容可以随时的删除,增加,修改。 下面这个就是一个列表,python打印列表的时候会将中括号和引号打印出来的 name = [liubin,liujian,liuliu] print (name)[liubin, liujian, liuliu] 有序的列表 和大多数编程语言一样,列表的第一个元素的索引是0,而不是1。如果要输出最后一个元素可以使用-1,倒数第二个可以使用-2,以此类推。 language = [python,C++,Java,PHP,Ruby] print (language[0])python print (language[2])Java print (language[-1])Ruby print (language[-2].lower())php 列表的修改、添加和删除元素 修改:其实就是对元素的重新赋……

      Java多线程编程实战之模拟大量数据同步

      背景 最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的。否则要么无法深入理解,要么硬生生地套用技术只是达到炫技的效果。 不过笔者仍旧认为自己对于多线程掌握不够熟练,不敢轻易应用到生产代码中。这就按照平时工作中遇到的实际问题,脑补了一个很可能存在的业务场景: 已知某公司管理着 1000 个微信服务号,每个服务号有 1w ~ 50w 粉丝不等。假设该公司每天都需要将所有微信服务号的粉丝数据通过调用微信 API 的方式更新到本地数据库。 需求分析 对此需求进行分析,主要存在以下问题: 单个服务号获取粉丝 id,只能每次 1w 按顺序拉取 微……

      MySQL升级的实战详解

      MySQL5.7新增了不少新功能,比如:Online DDL、多源复制、增强半同步、表空间传输、sys 库、Group Replication等。最近终于等到了一个机会,将MySQL升级到5.7,很是兴奋不已。 MySQL升级的概述 MySQL升级的实质: 对数据字典的升级 数据字典有:mysql、information_schema、performance_schema、sys schema。 MySQL升级的两种方式: in-place upgrade: 适合小版本的升级。 即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade. 特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.55.7). logical upgrade: 适合不同操作系统的MySQL升级,大版本之间的升级。 即:使用……

      以上就是本次介绍的Flutter电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:推荐系统与深度学习

      下一篇:Kubernetes进阶实战

      展开 +

      收起 -

      下载地址:百度网盘下载
      Flutter相关电子书
      Swift开发iOS:App快速入门与实战
      Swift开发iOS:App快速入门与实战 高质量版

      Swift集合了C与Objective-C程序语言的优点,但比这两种编译语言在编译与运行上更加快捷。书中根据Swift语言特性与与应用定位归纳出简单的学习架构,期望让初学者一次开发就上手

      立即下载
      树莓派Python编程入门与实战
      树莓派Python编程入门与实战 高质量扫描第2版

      《树莓派Python编程入门与实战》经典系列 直观 循序渐进的树莓派Python编程学习教程 强调实践教学 以示例引导读者完成常见的任务。

      立即下载
      名师讲坛:Oracle SQL入门与实战经典
      名师讲坛:Oracle SQL入门与实战经典 超清扫描版

      小说式Oracle从入门到精通,附教学讲义,适合10g/11g/12c,通过例子来解释复杂的计算机和数据库概念,是一本Oracle SQL的实用入门教材

      立即下载
      Python3.6零基础入门与实战
      Python3.6零基础入门与实战 带源码视频版

      这是一本Python 3.6入门教材,包括内容包括开发环境、数据结构、函数、面向对象、多线程等,内容详尽、示例丰富,特别适合广大Python入门读者和Python开发人员阅读

      立即下载
      Android开发入门与实战
      Android开发入门与实战 扫描第2版

      学习本书可让不懂Android开发的人系统地快速掌握Android 开发的知识,包含Android开发环境搭建、Android SDK介 绍、Android应用程序结构剖析等内容,精选了6个真实的案例,欢迎下载

      立即下载
      读者留言
      chenlexh

      chenlexh 提供上传

      资源
      47
      粉丝
      35
      喜欢
      298
      评论
      18

      Copyright 2018-2020 www.xz577.com 码农之家

      版权投诉 / 书籍推广 / 赞助:520161757@qq.com