2017-3-8
  
最近不少 iOS 开发者收到苹果的警告邮件,事情的起因是使用了 JSPatch、React Native、Weex 等热修复技术,虽然苹果只是发了警告邮件,并没有听到哪些应用被直接下架,但还是在开发圈子里掀起波澜,很多开发者在大大小小的社区里面纷纷议论这事。

2016-11-2
  
所有 PPT 下载地址:https://github.com/QConChina/QConShanghai2016

2016-8-28
  
mpush,是一款开源的实时消息推送系统,采用 java 语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点。同时也是少有的可商用的开源推送系统。

2016-8-11
  
Security Guide for Developers (实用性开发人员安全须知)

2016-7-25
  
详细介绍了 JS 中调用 OC 方法的流程。在 JS 层和 C 层都有一个 Bridge,里面保存了相同的模块配置表,包含了 OC 暴露给 JS 的方法信息。JS 调用 OC 方法时,通过 Bridge 里的配置表查询得到 Module ID、Method ID、Callback ID 等传递给 OC,OC 通过模块配置表找到对应的方法执行后,调用回调。

需要注意的是 JS Bridge 并不会主动把数据传递给 OC Bridge,而是添加到一个队列中,当 OC 过来调用 JS 任意方法时,再把这个队列返回给 OC。具体如下图:


2016-7-22
  
从底层框架、学习成本、易用性、性能、工具链等多方面对 React Native 和 Weex 进行对比

2016-7-18
  
ArchSummit 深圳 2016 Slides 下载合集,各端都有些不错的 Share

2016-7-15
  

一个十几年开发经验的老司机对一些热点如 OO 与 FP、微服务、重构的看法,很多观点不谋而合。如:

  1. 设计的基本原则一直通用,不分语言。
  2. FP 早期能更快速完成任务,但 OO 比 FP 更适合复杂场景和大工程。
  3. 微服务的拆分粒度是个需要把握的度,过大不能充分解耦,过小则破坏了问题本身整体性同时使得系统复杂。
  4. 重构更多是系统模块层次结构性的重构,系统重新设计重新划分模块,对于系统内重构因为对外部职责单一所以可整体替换。

2016-7-14
  

介绍了 Facebook 用 FlatBuffers 优化信息流等,介绍 FlatBuffers 的存储格式及 FlatBuffers 的好处,包括:

  1. 解析速度更快
  2. 内存占用更少
  3. 更灵活,可单独快速读取部分属性不用群不解析
  4. 跨平台、库很小、编译时类型校验

  
FlatBuffers 是一个高效的跨平台序列化类库,效率远高于常用的 JSON,可以在 C++、C#、C、Go、Java、JavaScript、PHP 和 Python 中使用。是 Google 开发的,是为了应用在游戏开发,以及其他注重性能的应用上。

2016-6-30
  
由微信读书的 bang 开源的 JSPatch 是国内应用最广泛的 iOS 热修复方案,bang 详细介绍了 JSPatch 的起步、发展和下一步计划。替代早期的嵌入 Lua 引擎的 waxPatch,不断优化。

2016-6-23
  
React Native 的 ES5 ES6 混用会让新手不知所然,如:

require VS import

React.createClass VS extends Component

module.exports VS export default

getInitialState VS constructor


2016-6-20
  
简单介绍了 JSX 的不同场景的使用方式以及发布流程

Android 开发经验分享
Android 开发经验分享