在 Chrome 中测试 Flutter Web 应用性能
本文翻译自:https://medium.com/flutter/performance-testing-on-the-web-25323252de69 概览性能测试是开发过程中非常重要的一环,通过合适的工具我们可以发现应用程序卡顿、变慢的潜在原因。本文,我们就来介绍一种在 Chrome 中测试 ...
阅读更多
1964 年,空指针崩溃的源头,以及 Dart 最新的空安全特性!
2009 年,快排算法的作者、1980 年图灵奖的得主 Tony Hoare 在伦敦的 QCon 大会上发表了一场主题为《Null References: The Billion Dollar Mistake》的演讲,这场本该积极活跃的分享会全程却充满了懊悔和歉意,因为他认为正是自己在 1964 年 ...
阅读更多
Flutter Navigator 2.0 全面解析
Flutter Navigator 2.0 全面解析随着最新版本的的发布,Flutter 1.22 中各个全新的功能映入了我们的眼帘,可以发现本次对路由相关 API 的改动最大,官方的设计文档中表示,由于传统的命令式并没有给开发者一种灵活的方式去直接管理路由栈,甚至觉得已经过时了,一点也不 Flut ...
阅读更多
选择合适的数据库(缓存、对象存储、SQL、NoSQL等)
如何为项目选择合适的数据库(缓存、对象存储、SQL、NoSQL等)数据库本身功能非常单一,仅可作为数据的存储介质,但错误的数据库选型带来的代价可能就是项目性能的大幅下降,对于很多企业应用来说这也是致命的伤害,另外,选择不同数据库类型同样会决定系统中其他模块的设计,因此,数据库选型对于整个项目非常重要 ...
阅读更多
Linux 容器化技术详解(虚拟化、容器化、Docker)
容器化技术自前几年火热发展后一直都是业内非常热门的话题,为了拓展自己的知识面当然也要学起来,本篇文章从发展的角度来解释了它的前世今生,并将它与传统虚拟化技术做对比,并分析他们各自的运行原理。 虚拟化技术虚拟化是过去用来充分利用计算机物理资源的最常用方法。早年间,我们可以用一台服务器运行一个操作系 ...
阅读更多
深入理解字符编码(ASCII、Unicode、UTF-8、UTF-16、UTF-32)
接近一年没有更新博客了,这是 2020 的第一篇,源于对基础知识的巩固,主要会从多个维度解释字符编码的由来以及内部原理。 大家都知道,程序中的所有信息都是以二进制的形式存储在计算机的底层,也就是说我们在代码中定义的一个 char 字符或者一个 int 整数都会被转换成二进制码储存起来,这个过程可 ...
阅读更多
Flutter动画全解析(动画四要素、动画组件、隐式动画组件原理等)
本文通过拆解 Flutter 中动画的实现方式以及原理来介绍动画实现的整个过程。 1. 动画四要素动画在各个平台的实现原理都基本相同,都是由在一段时间内一系列连续变化画面的帧构成的。在 Flutter 中,动画的过程又被量化成一段值区间,我们可以利用这些值设置控件的各个属性来实现动画,其内部由四 ...
阅读更多
Flutter原理:三棵重要的树(渲染过程、布局约束、应用视图的构建等)
了解 HTML 的读者一定听说过 DOM 树这个概念,它由页面中每一个控件组成,这些控件所形成的一种天然的嵌套关系使其可以表示为 “树” 结构,我们也可以将这个概念应用在 Flutter 中,例如默认的计数器应用的结构如下图: 我们也可以看到上图中每个控件所形成的树结构中隐含了一些关系,例如在上图 ...
阅读更多