美团外卖Flutter动态化实践

动态化是 Flutter 无法避开的话题。本文从 Flutter 的特点讲起, 阐述了美团外卖团队在整个 Flutter 动态化上探索的心路历程,还有设计理念、核心原理以及业务应用的经验。本文的视角也不局限于框架本身,更多思考了在解决问题的过程中技术团队需要做的事情,希望能对大家有所启发和帮助。

18次阅读  |  4天以前  |  阅读全文 »
25次阅读  |  6天以前  |  阅读全文 »
50次阅读  |  10天以前  |  阅读全文 »

Flutter 上的内存泄漏监控

Flutter 所使用的 Dart 语言具有垃圾回收机制,有垃圾回收就避免不了会内存泄漏。在 Android 平台上有个内存泄漏检测工具 LeakCanary[1], 它可以方便地在 debug 环境下检测当前页面是否泄漏。本文将会带你实现一个 Flutter 可用的 LeakCanary,并讲述怎么用该工具检测出了 1.9.1 Framework 上的两个泄漏。

59次阅读  |  13天以前  |  阅读全文 »

网易支付-高性能NEJFlutter小程序动态化架构实践

大家好,今天跟大家分享的主题是《NEJFlutter小程序动态化高性能架构》,这是关于网易支付团队在Flutter小程序动态化方向上尝试的一套技术解决方案,一句话介绍NEJFlutter,就是用JavaScript开发业务逻辑、Flutter开发UI布局的小程序架构,性能堪比原生Flutter应用;

122次阅读  |  25天以前  |  阅读全文 »

Flutter卡顿问题的监控与思考

使用Flutter技术构建的应用,一直以高性能高流畅度著称。但是随着应用复杂度越来越高,Flutter会出现一些页面流畅度明显低于Native的情况,甚至可能发生一些卡顿。而很多时候卡顿都发生在线上,即使获得了用户的操作路径,也难以重现。如果我们有一套卡顿监控系统,能够帮助我们捕获到卡顿时的堆栈,那么在发生卡顿的时候,我们就可以定位到具体是哪个函数引起的卡顿,从而解决这些问题。

117次阅读  |  25天以前  |  阅读全文 »
102次阅读  |  25天以前  |  阅读全文 »
130次阅读  |  28天以前  |  阅读全文 »
120次阅读  |  1月以前  |  阅读全文 »
134次阅读  |  1月以前  |  阅读全文 »
127次阅读  |  1月以前  |  阅读全文 »
128次阅读  |  1月以前  |  阅读全文 »
136次阅读  |  1月以前  |  阅读全文 »
161次阅读  |  1月以前  |  阅读全文 »
132次阅读  |  1月以前  |  阅读全文 »
127次阅读  |  1月以前  |  阅读全文 »
122次阅读  |  1月以前  |  阅读全文 »
126次阅读  |  1月以前  |  阅读全文 »
128次阅读  |  1月以前  |  阅读全文 »
143次阅读  |  1月以前  |  阅读全文 »

​Flutter | 1.9 全新组件 ToggleButtons

前几天的 GDD 相信大家还记忆犹新,Flutter 官宣发布了 1.9 正式版。
随之而来的有一些全新的组件和对于 web 的支持等等。
那我们今天就来看一下这其中的一个组件 --「ToggleButtons」。

125次阅读  |  1月以前  |  阅读全文 »
133次阅读  |  1月以前  |  阅读全文 »
133次阅读  |  1月以前  |  阅读全文 »
125次阅读  |  1月以前  |  阅读全文 »
116次阅读  |  1月以前  |  阅读全文 »
133次阅读  |  1月以前  |  阅读全文 »
112次阅读  |  1月以前  |  阅读全文 »
126次阅读  |  1月以前  |  阅读全文 »
102次阅读  |  1月以前  |  阅读全文 »
108次阅读  |  1月以前  |  阅读全文 »
123次阅读  |  1月以前  |  阅读全文 »
98次阅读  |  1月以前  |  阅读全文 »

Flutter - 利用 ClipPath 实现任意形状 Widget

我们应该都使用过 ClipXXX 相关的组件, 来实现一些 圆角矩形/圆形形状十分的方便,那如果想要实现一些奇形怪状的 Widget,例如 五角星/圆弧形之类的,那就只能用 ClipPath了。

96次阅读  |  1月以前  |  阅读全文 »

Flutter DropdownButton简单使用及魔改源码

们一般在写业务的时候多会用到下拉菜单,
前面讲过 ExpansionPanel, ExpansionPanel大部分情况用来实现展开列表等稍微复杂的业务逻辑。
而 DropdownButton 则是用来实现稍微简单一点的 点击选择 业务场景。

84次阅读  |  1月以前  |  阅读全文 »

Flutter 路由源码解析

这是博客《Flutter 路由原理解析》的番外篇,如果你没有看过主篇真的不建议你直接看这篇文章,因为它真的炒鸡炒鸡枯燥乏味……不讲客套话啦,我们分别从Navigator的push和pop两个方法去探索源码以及一些重要的细节。

84次阅读  |  1月以前  |  阅读全文 »

Flutter 路由原理解析

这一次,我尝试以不贴一行源代码的方式向你介绍 Flutter 路由的实现原理,同时为了提高你阅读源码的积极性,除了原理介绍以外,又补充了两个新的模块:从源码中学习到的编程技巧,以及 阅读源码之后对实际应用开发带来的帮助。

108次阅读  |  1月以前  |  阅读全文 »

Flutter StreamBuilder源码分析

经过一段时间的接触,和项目的不断迭代,不得不用一些手段来控制Widget的状态,对于大多数刚接触Flutter的人,知道如何更新Flutter组件的方式无非就是setState,还在某些论坛或者官网上看到InheritedWidget这个东东,那他们是如何更新的UI呢?这期我们不谈InheritedWidget,但当我点进去StreamBuilder里看到它继承自StatefulWidget时,我T..惊了,难道StreamBuilder也是setState?所以接下来,我们一探究竟。

89次阅读  |  1月以前  |  阅读全文 »

开源!有人用Flutter撸了个新浪微博

谷歌在2018年12月正式发布了Flutter,这是一个出色的跨平台框架,可用于移动、桌面和 Web 平台构建应用程序,发布不到一年,它的流行度就超过了React Native以及同领域的产品。从下图就可以看出:

101次阅读  |  1月以前  |  阅读全文 »
113次阅读  |  1月以前  |  阅读全文 »
136次阅读  |  1月以前  |  阅读全文 »
200次阅读  |  1月以前  |  阅读全文 »
122次阅读  |  1月以前  |  阅读全文 »
126次阅读  |  1月以前  |  阅读全文 »
139次阅读  |  1月以前  |  阅读全文 »
109次阅读  |  1月以前  |  阅读全文 »
114次阅读  |  1月以前  |  阅读全文 »
220次阅读  |  1月以前  |  阅读全文 »
117次阅读  |  1月以前  |  阅读全文 »
105次阅读  |  1月以前  |  阅读全文 »
106次阅读  |  1月以前  |  阅读全文 »