平安科技移动开发二队技术周报(第六期)
业界新闻
1)WWDC 15 发布会
在一段迥异过往风格的搞笑彩排视频之后,今年 WWDC 2015 拉开了帷幕,库克表示这是最国际化的一次发布会,有来自 70 个国家的不同开发者,在场有 80% 的人是首次参加 WWDC。
尽管传闻中的 Apple TV 和互联网电视台服务没有出现,但产品软件层面上的更新仍然令人欣喜。
2)Swift 2.0发布:即将开源,支持Linux
在6月9日凌晨举行的WWDC 2015全球开发者大会上,苹果发布了Swift 2.0,并宣布将于今年年底开源Swift语言。Swift 2.0引入了很多的新特性以确保开发者可以更快、更简单的构建应用,这些新特性包括更好的性能、新的异常处理API、可用性检查、支持Linux等。
3)超全解析 关于Android Wear你所要知道的一切
在2015年度谷歌I/O开发者大会上,我们了解到更多关于Android Wear的消息。主要的焦点集中在Android Wear 5.1.1上,而这些消息也反映出该平台正试图努力跟上Apple Watch的脚步。
4)TIOBE 2015年6月编程语言排行榜 Objective-C 迅速迁移 Swift
Objective-C是真正进入自由落体。过去的几个月就每月损失了约1%的市场份额。如果这种趋势继续下去,它将在今年年底离开TIOBE排行榜前20名。主要的原因是去年苹果宣布其新的编程语言Swift取代Objective-C。编程社区接受Swift因为它符合比尔更好。除此之外,也有使用C++更频繁的一个iOS应用程序的低层的趋势。
Android开发
1)Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
Android属性动画解析的最后一篇,前两篇可参见前几期周报。
2)Data Binding(数据绑定)用户指南
这篇文章介绍了如何使用Data Binding库来写声明的layouts文件,并且用最少的代码来绑定你的app逻辑和layouts文件。Data Binding库不仅灵活而且广泛兼容- 它是一个support库,因此你可以在所有的Android平台最低能到Android 2.1(API等级7+)上使用它。
3)FlyRefresh——让人眼前一亮的下拉刷新
炫酷下拉刷新效果FlyRefresh的实现原理解析。
4)MVP在Android平台上的应用
这篇文章向你介绍Android平台上的MVP模式,从一个简浅的例子开始实践之路。文章也会介绍一个一个库让你在Android平台上轻松的实现MVP。
5)Mac下修改Android Studio 所用的JDK版本
本文介绍了Android开发中如何将JDK版本降级,包括Android Studio,环境变量和Jenkins三方面的修改。
iOS开发
1)JSPatch实现原理详解
本篇文章从基础原理、方法调用和方法替换三块内容介绍整个 JSPatch 的实现原理,并把实现过程中的想法和碰到的坑也尽可能记录下来
2)详解Xcode 6的视图调试
开发者会经常遇到视图或者Auto Layout约束中存在bug的情况,并且这种bug很难通过代码发现,所以开发者很有必要熟知如何进行简单高效的视图调试,并且Xcode 6的发布使得视图调试变得前所未有的简单。
3)iOS应用架构谈 网络层设计方案
网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetworkKit啥的其实也都还不错,但前者已经弃坑,后者也在弃坑的边缘。在实际的App开发中,Afnetworking已经成为了事实上各大App的标准配置。
4)Objective-C Autorelease Pool 的实现原理
内存管理一直是学习 Objective-C 的重点和难点之一,尽管现在已经是 ARC 时代了,但是了解 Objective-C 的内存管理机制仍然是十分必要的。其中,弄清楚 autorelease 的原理更是重中之重,只有理解了 autorelease 的原理,我们才算是真正了解了 Objective-C 的内存管理机制。
技术纵横
1)Executor框架线程池任务执行全过程
JDK 1.5后引入的Executor框架的最大优点是把任务的提交和执行解耦。要执行任务的人只需把Task描述清楚,然后提交即可。这个Task是怎么被执行的,被谁执行的,什么时候执行的,提交的人就不用关心了。本文是对这一执行过程较详细解析。
2)重构概要图解
本文将《重构-改善既有代码的设计》一书的内容以图表的形式展示出来,方便快速复习。
3)程序猿必看交互设计
本文作者 Pasquale D'Silva 是 Elepath 的一位交互设计师兼产品设计师,在本文中,他从交互的角度阐释了优秀的设计应该具有的一些品质,或者说,优秀的产品该如何实现与用户的自然沟通。
开源函数库与工具
1)AppIntro
每一款App都有引导页,这个函数库能让我们快速制作出漂亮的引导页。
2)EventBus 3 beta
EventBus 3 beta发布了,可以从Maven central上面获取到,引入了编译时注解,性能比EventBus2.4提升了3到6倍。
3)support annotations
自从Android support library 19.1引入新的注解包,开发者已经大量使用其中提供的元注解来发现程序bug,在刚刚更新的Android support librar 22.2中,Google又给开发者带来了13个新的注解类型。