DynamicCard - 基于 FlexBoxLayout 的动态排版框架

客户端开发一直存在的一个主要矛盾是产品运营日益增长的快速迭代需要同应用市场严格的审核上架周期之间的矛盾。为应对这一矛盾各种客户端动态化的方案层出不穷。本文介绍一种基于 FlexBox 和 Yoga 的动态排版框架( for iOS ),可在线上调整页面样式,同时对新增卡片类型可做到无需跟版本实时更新。

阅读全文

AVPlayer 边下边播与最佳实践

最近研究 iOS 中视频播放器的相关内容,基于 AVPlayer 依次完成了底层视频边下边播的缓存框架、自定义的视频播放控制器、TableView 视频播放列表。本文整理一下边下边播的实现原理和使用 AVPlayer 遇到的一些坑。

阅读全文

全面的 iOS 客户端网络诊断方案

终端开发经常遇到需要排查 APP 网络状况的场景,例如可能由于某些地区网络运营商的问题,导致客户端某些功能不正常;或者用户自己网络的问题导致无法正常使用我们的后台服务。对此本文提供一套全面的客户端网络诊断方案。

阅读全文

客户端跨平台开发技术对比

浅谈 2018 移动端跨平台开发方案这篇文章基本把目前跟客户端“跨平台”搭边的技术梳理了一遍,多达数十种。不过从苹果官方支持度、实用性、使用范围来挑选,主要是这三大类:Hybrid系列、RN系列和 Flutter 系列。本文将对这三类方案作简要总结和对比。

阅读全文

区块链和比特币原理、以太坊开发

2008年,网络极客中本聪提出了比特币的概念,这是一种全新的电子货币。比特币是一种去中心化的记账系统,人们通过挖矿获得比特币,通过公开记账的方式完成支付。最近几年比特币暴涨暴跌,矿机从供不应求到无人问津,许多人一夜暴富,许多人倾家荡产。伴随着比特币沉浮的还有它的底层技术 —— 区块链。

阅读全文

HTTPS 协议和原理

  • HTTPS 的出现背景与发展趋势;
  • HTTPS 原理(内容加密防窃听、身份认证防冒充、数据完整防篡改);
  • HTTPS 对性能的影响;
  • 如何优化 HTTPS;
  • 如何实现全站 HTTPS 等。

阅读全文

iOS 热更新解读(一)APatch & JavaScriptCore

之前在手淘实习负责过百川Hotfix能力的建设,Android 端采用阿里自研 Sophix,iOS 端采用 JSPatch,解读 JSPatch 前有必要先了解 Objective-C 与 JavaScript 的互相调用。

阅读全文

iOS 热更新解读(二)—— JSPatch 源码解析

了解了 JavaScriptCore 的使用方式,本篇从 demo 入手对 JSPatch 关键源码进行解读。

阅读全文

iOS 热更新解读(三)—— JSPatch 之于 Swift

本篇探索 jspatch 能否用于 swift 项目实现热更新。

阅读全文

UITextView 输入字数限制

最近需求中有一个常见场景:限制用户输入框的文字长度。乍一看很简单其实坑不少,网上的解决方案都不够严谨,记录一下。

阅读全文