陈航,专注于大前端开发领域9年。曾就职于雅虎北研和新浪微博,2015年加入美团,经历了外卖用户端和商家端发展的多个阶段,推动了外卖移动端架构演进、线上运维及终端技术栈融合等相关工作。现任美团外卖商家业务终端团队技术负责人,致力于提升终端团队研发效率与交付质量。
陈航,专注于大前端开发领域9年。曾就职于雅虎北研和新浪微博,2015年加入美团,经历了外卖用户端和商家端发展的多个阶段,推动了外卖移动端架构演进、线上运维及终端技术栈融合等相关工作。现任美团外卖商家业务终端团队技术负责人,致力于提升终端团队研发效率与交付质量。
在前端开发领域被JavaScript一统天下的今天,Dart语言的出现无疑是一股清流。作为后来者,Dart集百家之长,拥有其他优秀编程语言的诸多特性和影子。凭借着Flutter火热的势头,作为构建Flutter的关键技术,越来越多的开发者开始慢慢了解、学习这门语言,并共同完善它的生态。
单线程模式下的Dart是如何从语言设计层面和代码运行机制上保证Flutter UI流畅性的,关于异步和并发编程,作为开发者的我们又该了解Dart的哪些知识呢?本次分享将带领听众从几个小例子出发,由浅至深循序渐进的了解Dart语言的Event Loop处理机制、异步处理和并发编程的原理,从语言设计和实践层面理解Dart单线程模型下的代码运行本质,从而懂得后续如何在工作中使用Future与Isolate,优化Flutter项目。
演讲提纲:
1. Dart单线程模型
2. Event Loop - Dart代码运行模式本质
(1)Dart事件处理机制
(2)Event Queue介绍
(3)MicroTask Queue介绍
3. Future - 单线程模型下的Dart代码是如何异步执行的?
(1)Future运行机制分析
(2)异步执行与同步等待
(3)异常处理
(4)案例分析
4. Isolate - Dart中的“多线程”机制
(1)Isolate原理介绍
(2)Isolate的创建与销毁
(3)Isolate消息机制
(4)Isolate实战
5. Future与Isolate适用场景
听众收益:
1. 理解Dart单线程模型下代码运行本质
2. 懂得Dart异步处理和并发编程的原理和各自适用的场景
3. 懂得如何在项目中使用Future与Isolate优化现有代码
听懂我的演讲,需要具备这些知识储备:
有基本的Dart编程经验或一定的JavaScript经验,看得懂基本的Dart语法