rn 通过bridge将js文件转化为安卓和ios对应的格式内容 而bridge是单线程 转化任务太多太重容易造成阻塞 iOS和android容易存在兼容性问题 优点 无感热更
flutter 借助引擎渲染同一套代码设计 没有中间通信消耗
配置Flutter SDK
1,前往官⽹获取SDK =》docs.flutter.dev/development…
2,将安装包zip解压到你想安装Flutter SDK的路径(如: C:\src\flutter ;注意,不要 将flutter安装到需要⼀些⾼权限的路径如 C:\Program Files\ )
3,在Flutter安装⽬录的 flutter ⽂件下找到 flutter_console.bat ,双击运⾏并启动 flutter命令⾏,接下来,就可以在Flutter命令⾏运⾏flutter命令了
更新环境变量:
-
转到 “控制⾯板>⽤户帐户>⽤户帐户>更改我的环境变量”
-
在“⽤户变量”下检查是否有名为“Path”的条⽬:
如果该条⽬存在, 追加 flutter\bin 的全路径,使⽤ ; 作为分隔 ;如果条⽬不存在, 创建⼀个新⽤户变量 Path ,然后将 flutter\bin 的全路 径作为它的值 -
在“⽤户变量”下检查是否有名 为”PUB_HOSTED_URL”和”FLUTTER_STORAGE_BASE_URL”的条⽬,如果没有,也 添加它们。
安装Android Studio的Flutter和Dart插件(File>Settings>Plugins),安装完成后重启即可
vscode 开发flutter
-
安装flutter插件,awsome flutter,dart ,Bracket Pair Colorizer 2
_____________________________________________________________________________________________
2018 出生 高效 响应UI 原生性能
widgets = component
- material Android
- cupertino ios
框架=底层(引擎)=端嵌入层(跨端)
声明式的ui组件库 widget=》statelessWidget+statefulWidget
skia渲染引擎 =》Android和谷歌的渲染引擎
要让组件有某种功能就用具有某种功能的组件包裹它
-
按钮相关组件(MaterialButton、RaiseButton、FlatButton、DropdownButton、悬浮按 钮、IconButton)
-
单组件容器布局组件(Container、Padding、Center、Align)
-
多组件容器布局组件(Row、Column、Stack、Wrap)
-
⼿势
-
ListView的使⽤
-
Scaffold脚⼿架组件
-
路由:navigator
-
数据持久化:shared_preferences
-
状态管理:Provider 有 Scoped Model , Redux , BLoC 等
-
Flutter插件开发
-
Flutter打包与发布
widgets有两种类型 ——statefule(有状态) 和 stateless(⽆状态)
Dart:
- 数据类型:Number(int(-2^53~2^53)double(双精度浮点型)) String Boolean List Map