Flutter&&Dart学习笔记

Flutter是跨端的解决方案中Skia磨掉了平台之间用户体验差别,Dart语言是flutter的具体实现。

Dart语言同时支持即时编译JIT和事前编译AOT,在开发阶段使用JIT,开发周期短,可以通过状态热重载,而发布期使用AOT,本地代码执行更高效,代码性能和用户体验也更加卓越。Dart避免了抢占式调度和共享内存,可以在没有锁的情况下进行对象的分配和垃圾回收,在性能方面表现不错。

Flutter架构图

Flutter框架图片来源

Framework层是包含动画 图形绘制 手势,这些都是可以统一调用API适配不同平台

Engine层是包含Skia Dart Text,实现了flutter的渲染引擎,文字排版,时间处理和Dart运行时等功能,Skia和Text为上层接口提供了调用底层渲染和排版功能,Dart则为Flutter提供了运行时调用Dart和渲染引擎的能力,而Engine是将这两者组合起来,从而生成数据中实现试图渲染。

Embedder是操作性层,实现了渲染Surface设置,线程设置,以及平台插件等平台相关性的适配。

项目结构:

flutter工程实际上同时内嵌了android和iOS原生工程的父工程。

我们在lib目录下进行flutter代码开发,在某些特殊场景下的原生则在对应的Android和iOS工程中提供相应的代码实现,供对应flutter代码引用。

widget字面的意思是小控件,在flutter中包含应用,视图,视图控制器,布局等在内的概念。flutter的核心设计思想便是一切皆widget。

widget是组件视觉效果的封装是UI界面的载体,还提供build方法来构建UI界面。

以数据驱动视图更新,这样代码可以更加精炼,逻辑也可以更清晰。状态的更改一定要配合使用setState,通过这个方法调用,flutter就在底层标记widget的状态,随后触发重建。UI 编程思维方式转换。

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值