前言
本来参考Flutter | 老孟及自己在学习中对一些资料的收集。希望能帮到想学习flutter的开发者。
Flutter 阶段
千呼万唤始出来,主角-Flutter终于登场了,Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。
Flutter
吸收了前面的经验,它既没有使用WebView
,也没有使用原生控件进行绘制,而是自己实现了一套高性能渲染引擎来绘制UI
,这个引擎就是大名鼎鼎的Skia
,Skia
是一个2D
绘图引擎库,Chrome
和Android
都是采用Skia
作为引擎。Flutter
完美的解决了跨平台代码复用和性能问题,大家都在感叹:似乎UI迎来了终极解决方案
。
Flutter局限性
Flutter
并不是无所不能的,当你选取Flutter
作为技术方案时,首先要了解Flutter
无法实现哪些功能。
UI平台一致性
由于Flutter
使用自己的引擎
进行UI渲染
,而不是用原生控件
渲染,导致控件显示效果和原生不是完全一样,虽然肉眼看起来基本一样,但还是有一些细微的差别,尤其当Android
和iOS系统
升级导致原生控件效果发生变化时,Flutter开发
的App
并不会进行相应的变化,如果您的App
需要原生控件保持完全一致,Flutter
可能并不适合您。-
动态化更新
动态化功能在国内来说是一项非常重要的功能,
Google官方
已经明确现阶段不会实现动态化功能
。
此功能并不是技术上
无法实现,更多的还是政策和法律上
的约束。
因此如果您的App
需要动态化
功能,那么Flutter
可能并不适合您。
总结
既然Flutter
已经如此优秀了,那是不是以后使用Flutter
就可以了呢?答案是否定的,未来很长一段时间应该是原生、Hybird、React Native、Flutter
共存时代。
- 原生开发是无法完全避开的,一些硬件(比如蓝牙、传感器等)功能、音视频和
ARVR
等相关功能必须使用原生开发
,有人说我开发蓝牙功能没用写原生代码啊,直接引入即可,你没有写,那是因为有人为你封装好了第三方插件。 -
Hybird
虽然有一些缺陷,但依然有其使用的场景,比如京东、天猫App
中的营销活动都是是H5
实现的。 -
React Native
可以使用原生控件渲染,因此,如果您需要使用原生控件而又想跨平台,React Native
是不错的选择。
官方学习地址
Flutter环境配置
flutter安装和配置
英语比较好的,看英文官网:https://flutter.dev/docs/get-started/install
中文:https://flutter.cn/docs/get-started/install
中国的网络环境下使用 Flutter
,请先看一下这篇文章
创建Flutter 项目
设置应用程序名称和图标
App调试运行
打包部署
Flutter Package
Flutter Package
文本组件
基础组件
布局组件
定位装饰权和重组件
手势识别组件
滚动和大数据组件
Sliver系列组件
功能性组件
App级别组合
组件总结和实战
动画
路由
数据库储存和网络请求
混合开发
国际化
Flutter | 老孟
Flutter | 老孟
Flutter组件
flutter实战
flutter源码分析
flutter优秀文章
flutter插件
Drat
插件开发 pub
Dart异步与网络请求
Dart中的异步
异步async、await和Future的使用技巧