全网最详细的Flutter开发入门基础教程,Flutter跨平台终极之选

跨平台方案分析

亲身体验从最开始的Cordov/AppCan,到RN/Weex,再到现在的Flutter。跨平台开发始终是任意年代不可逃避的话题,但是之前的技术原理无非是基于两种:

混合开发的web容器时代

  • 为了解决原生开发的高成本、低效率,出现了Hybrid混合开发

  • 原生中嵌入依托于浏览器的WebView

  • Web浏览器中可以实现的需求在WebView中基本都可以实现

  • 但是Web最大的问题是,它的性能和体验与原生开发存在肉眼可感知的差异

  • 因此并不适用于对性能和用户体验要求较高的场景

以RN和Weex为代表的跨平台开发

  • 将H5标签渲染层原生控件
  • 用户体验更接近于原生了
  • 由于进行了功能裁剪,所以RN对业务的支持能力还不到浏览器的5%
  • 因此仅适用于中低复杂度的低交互类页面。面对稍微复杂一点儿的交互和动画需求,都需要通过调用原生代码去扩展才能实现

Flutter优势

Flutter另辟蹊径,为了屏蔽上面两种跨平台开发方案的缺陷,开启了自绘引擎时代,它的主要优点:

  • UI渲染性能高
  • 稳定
  • 高效
  • 开源
  • 社区完善

做个简单的对比

框架代表

技术类型

UI渲染方式

性能

开发效率

Cordova,AppCan

H5+原生

WebView渲染

一般

RN、Weex

js+原生渲染

原生控件渲染



Flutter

自绘UI+原生

调用系统API渲染


高(AOT,JIT)

结果显而易见了,Flutter能够帮助我们提高开发效率,创建美观,高度定制的用户体验

为帮助大家从入门到实战,深度掌握Flutter这门跨平台技术,这里整理出了两份适合零基础的Flutter学习笔记

《Flutter Dart 语言编程入门到精通》:讲解了Dart语言基础,异步编程,标准输入输出流,网络编程及调用C语言编程,可帮助大家快速入手Dart语言。
《Flutter实战演练:第二版》:则是详解讲解Flutter各大组件核心原理,带你建立第一个Flutter应用,可帮大家掌握Flutter背后的框架原理和底层设计思想,建立起属于自己的知识体系。

(有需要完整文档的伙伴可文末查看获取方式!)

《Flutter Dart 语言编程入门到精通》

目录

在这里插入图片描述

《Flutter实战演练:第二版》

目录

在这里插入图片描述

第一章 起步

  • 移动开发技术简介
  • 初识 Flutter
  • 搭建Flutter开发环境
  • Dart语言简介

在这里插入图片描述

第二章 第一个Flutter应用

  • 计数器应用示例
  • Widget 简介
  • 状态管理
  • 路由管理
  • 包管理
  • 资源管理
  • 调试Flutter应用
  • Flutter异常捕获

在这里插入图片描述

第三章 基础组件

  • 文本及样式
  • 按钮
  • 图片及ICON
  • 单选开关和复选框
  • 输入框及表单
  • 进度指示器

在这里插入图片描述

第四章 布局类组件

  • 布局类组件简介
  • 布局原理与约束(constraints)
  • 线性布局(Row和Column)
  • 弹性布局(Flex)
  • 流式布局(Wrap、Flow)
  • 层叠布局(Stack、Positioned)
  • 对齐与相对定位(Align)
  • LayoutBuilder、AfterLayout

在这里插入图片描述

第五章 容器类组件

  • 填充(Padding)
  • 装饰容器(DecoratedBox)
  • 变换(Transform)
  • 容器组件(Container)
  • 剪裁(Clip)
  • 空间适配(FittedBox)
  • 页面骨架(Scaffold)

在这里插入图片描述

第六章 可滚动组件

  • 可滚动组件简介
  • SingleChildScrollView
  • ListView
  • 滚动监听及控制
  • AnimatedList
  • GridView
  • PageView与页面缓存
  • 可滚动组件子项缓存
  • TabBarView
  • CustomScrollView 和 Slivers
  • 自定义 Sliver
  • 嵌套可滚动组件 NestedScrollView

在这里插入图片描述

第七章 功能型组件

  • 导航返回拦截(WillPopScope)
  • 数据共享(InheritedWidget)
  • 跨组件状态共享(Provider)
  • 颜色和主题(Theme)
  • ValueListenableBuilder
  • 异步UI更新(FutureBuilder、StreamBuilder)
  • 对话框详解

在这里插入图片描述

第八章 事件处理与通知

  • 原始指针事件处理
  • 手势识别
  • Flutter事件机制
  • 手势原理与手势冲突
  • 全局事件总线
  • 通知(Notification)

在这里插入图片描述

第九章 动画

  • Flutter动画简介
  • 动画结构
  • 自定义路由过渡动画
  • Hero动画
  • 交织动画
  • 通用“动画切换”组件(AnimatedSwitcher)
  • 动画过渡组件

在这里插入图片描述

第十章 自定义组件

  • 自定义组件方法简介
  • 组合现有组件
  • 组合实例:TurnBox
  • CustomPaint与Canvas
  • 自绘实例:圆形渐变进度条
  • 自绘组件:CustomCheckbox
  • 自绘组件:DoneWidget
  • 水印组件实例:文本绘制与离屏渲染

在这里插入图片描述

第十一章 文件操作与网络请求

  • 文件操作
  • Http请求-HttpClient
  • Http请求-Dio package
  • 实例:Http分块下载
  • WebSocket
  • 使用Socket API
  • Json转Dart Model类

在这里插入图片描述

第十二章 Flutter扩展

  • 包和插件
  • Flutter Web

在这里插入图片描述

第十三章 国际化

  • 让App支持多语言
  • 实现Localizations
  • 使用Intl包
  • 国际化常见问题

在这里插入图片描述

第十四章 Flutter核心原理

  • Flutter UI框架(Framework)
  • Element、BuildContext和RenderObject
  • Flutter启动流程和渲染管线
  • Flutter 布局(Layout)过程
  • Flutter 绘制(一)绘制原理及Layer
  • Flutter 绘制(二)组件树绘制流程
  • Flutter 绘制(三)Layer实例
  • Flutter 绘制(四)Compositing

在这里插入图片描述

第十五章 一个完整的Flutter应用

  • Github客户端示例
  • Flutter APP代码结构
  • Model类定义
  • 全局变量及共享状态
  • 网络请求封装
  • APP入口及主页
  • 登录页
  • 多语言和多主题
    在这里插入图片描述

结语

Flutter 作为新兴的混合开发解决方案,已经被广泛关注和使用,这不光是因为它有 Google 的支持,更因为它提供了更完善的文档和更高效的运行方式,开发者不必再把大量精力放到不同平台的展示上,更好的完成自己的业务,从企业管理者角度看,也大大降低了开发成本。

猜你喜欢

转载自blog.csdn.net/Code1994/article/details/132426938
今日推荐