Uber 新架构 RIBs 的前世今生 为什么 Uber 要重构移动端Uber 基于一个简单的概念:一键出行。 从最初优享到现在提供的一系列产品,每天在数百个城市协调数百万次乘车。 为了应对和支持2017年及以后的发展,我们迫切的需要重新设计我们的移动端架构。 但从哪里开始? 我们决定重新开始。于是 ...
Flutter 深入理解 State
Flutter 深入理解 State本文主要介绍 Flutter 应用程序中 Widget,State,Context 和 InheritedWidget 等重要概念。 尤其注意的是 InheritedWidget,它是最重要且介绍较少的 Widget 之一。 前言每个 Flutter 开发人员都 ...
Flutter 从 0 到 1
Flutter 从 0 到 1 长话短说 我发现 Flutter 的 widget 和 tween 的强大之处,在使用 Dart 开发 Android/iOS 应用程序的图表动画过程中。 2018 年 8 月 7 日更新,适配 Dart 2 语法。GitHub repo在 2018 年 10 月 1 ...
Flutter异步编程
Flutter异步编程重点 Dart代码运行在一个已执行的线程内。 阻塞线程执行的代码能够使程序冻结。 Future对象(Futures)表示异步执行的结果(将要完成的执行结果或I/O操作)。 异步函数使用await()(或者用then()),暂停执行直到future完成。 异步函数使用try-ca ...
WKWebView 使用详解
#WKWebView 使用详解 ##前言WKWebView是在Apple的WWDC 2014发布,将原有UIWebViewDelegate与UIWebView重构成了14类与3个协议。WKWebView,在iOS8和OS X 10.10开始支持,是为了解决UIWebView加载速度慢、占用内存大的问 ...
iOS App 启动优化
iOS App 启动优化技术调研启动时间计算公式App总启动时间 = t1(main()之前的加载时间) + t2(main()之后的加载时间)。 t1 = 系统dylib(动态链接库)和自身App可执行文件的加载; t2 = main方法执行之后到AppDelegate类中的- (BOOL ...
iOS 应用,性能监控
iOS 应用,性能监控github 源码地址iOS 应用,性能监控 背景,目前正在优化项目,首先要对项目内的性能指标进行分析,这个可以通过Instrument 进行debug 分析。这样做只适用于开发人员。性能指标作为一项衡量App的重要指标无法量化。为了每次发布前能有一个性能报告,需要开发一个组件 ...
iOS 编码规范整理
iOS 编码规范整理 本文参考自《苹果Cocoa编码规范》《objective-c-style-guide》,希望能够启动抛砖引玉的功能。而且会持续更新,逐步细化。 命名规则一般原则清晰 命名最好清晰又简洁,但是不能过于简洁而失去了清晰。 insertObject:atIndex: //这是个好例 ...