跨平台方案分析
亲身体验从最开始的Cordov/AppCan,到RN/Weex,再到现在的Flutter。跨平台开发始终是任意年代不可逃避的话题,但是之前的技术原理无非是基于两种:
混合开发的web容器时代
- 为了解决原生开发的高成本、低效率,出现了Hybrid混合开发
- 原生中嵌入依托于浏览器的WebView
- Web浏览器中可以实现的需求在WebView中基本都可以实现
- 但是Web最大的问题是,它的性能和体验与原生开发存在肉眼可感知的差异
- 因此并不适用于对性能和用户体验要求较高的场景
以RN和Weex为代表的跨平台开发
- 将H5标签渲染层原生控件
- 用户体验更接近于原生了
- 由于进行了功能裁剪,所以RN对业务的支持能力还不到浏览器的5%
- 因此仅适用于中低复杂度的低交互类页面。面对稍微复杂一点儿的交互和动画需求,都需要通过调用原生代码去扩展才能实现
Flutter优势
Flutter另辟蹊径,为了屏蔽上面两种跨平台开发方案的缺陷,开启了自绘引擎时代,它的主要优点:
- UI渲染性能高
- 稳定
- 高效
- 开源
- 社区完善
做个简单的对比:
结果显而易见了,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 的支持,更因为它提供了更完善的文档和更高效的运行方式,开发者不必再把大量精力放到不同平台的展示上,更好的完成自己的业务,从企业管理者角度看,也大大降低了开发成本。
到此这篇全网最详细的Flutter开发入门基础教程,Flutter跨平台终极之选的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/yd-flutter/3643.html