2017-6-13
2017-5-25
2017-4-14
2017-3-29
2017-3-8
最近不少 iOS 开发者收到苹果的警告邮件,事情的起因是使用了 JSPatch、React Native、Weex 等热修复技术,虽然苹果只是发了警告邮件,并没有听到哪些应用被直接下架,但还是在开发圈子里掀起波澜,很多开发者在大大小小的社区里面纷纷议论这事。
2016-11-22
2016-11-2
2016-8-28
mpush,是一款开源的实时消息推送系统,采用 java 语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点。同时也是少有的可商用的开源推送系统。
2016-8-11
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
2016-7-18
2016-7-15
一个十几年开发经验的老司机对一些热点如 OO 与 FP、微服务、重构的看法,很多观点不谋而合。如:
- 设计的基本原则一直通用,不分语言。
- FP 早期能更快速完成任务,但 OO 比 FP 更适合复杂场景和大工程。
- 微服务的拆分粒度是个需要把握的度,过大不能充分解耦,过小则破坏了问题本身整体性同时使得系统复杂。
- 重构更多是系统模块层次结构性的重构,系统重新设计重新划分模块,对于系统内重构因为对外部职责单一所以可整体替换。
2016-7-14
介绍了 Facebook 用 FlatBuffers 优化信息流等,介绍 FlatBuffers 的存储格式及 FlatBuffers 的好处,包括:
- 解析速度更快
- 内存占用更少
- 更灵活,可单独快速读取部分属性不用群不解析
- 跨平台、库很小、编译时类型校验
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