• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Flutter&&Dart学习笔记

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap