平安科技移动开发二队技术周报(第八期)
平安科技移动开发二队技术周报(第八期)
业界新闻
1)怎样评价美团外卖商家版强杀竞争对手的商家版 App 进程?
一段代码引发的关于不正当竞争的讨论。
2)Swift正在蚕食Objective-C的市场
关于Objective-C市场份额萎缩的更详尽的报道。
3)苹果真贴心,更新iOS 9不用操心空间不够
虽然iOS 9的升级空间从4.6GB降至如今的1.3GB,依旧有不少低存储空间的设备会有安装空间不够的问题。
有开发人员发现,在升级iOS 9 Beta2时。小存储版本号iPhone/iPad在安装过程中,假设出现系统空间不够时。苹果会自己主动为你解决。
4)这10点让你认清苹果新系统El Capitan
苹果的新系统 El Capitan 带来了不少新奇玩意,但很多其它的是对已有功能的优化升级,新的字体。全新的分屏功能。以及更加智能的 Spotlight 功能,以及不再鸡肋的地图和备忘录……虽然不是颠覆性的创新。但细细体验。真的是用户最想要。最能提高用户体验的改进。
Android开发
1)Android应用程序UI硬件加速渲染的动画执行过程分析
通常我们说一个系统不如还有一个系统流畅,说的就是前者动画显示不如后者流畅,因此动画显示流畅程度是衡量一个系统流畅性的关键指标。
为什么这样说呢?这是由于流畅的动画显示须要60fps的UI刷新速度。然而这却不是一个easy达到的速度。Android 5.0通过引入Render Thread尽最大努力提升动画显示流畅性。本文就分析Render Thread显示动画的过程。以便了解它是怎样提高动画显示流畅性的。
2)具体解释Android开发中经常使用的 DPI / DP / SP
Android的碎片化已经被喷了好多年,随着国内手机厂商的崛起。碎片化也越来越严重,依据OpenSignal的最新调查,2014年市面上有18796种不同的Android设备,作为开发人员,一个无法回避的难题就是须要适配各种各样奇奇怪怪的机型。
3)Android Studio分模块自己主动化构建实战
众所周知。AndroidStudio中应该尽量使用Module来进行模块的划分,既能达到模块解耦的目的,也能在必要的时候轻松实现分模块打包。特别是在SDK项目中。
那么什么是分模块打包呢?就是我们能够依据第三方使用者的需求,自己主动化的提供SDK的全量版本号。部分功能版本号以及最小功能版本号等等。
4)Android应用分析进阶教程之中的一个- 初识JEBAPI
JEB是Android应用静态分析的de facto standard,除去准确的反编译结果、高容错性之外,JEB提供的API也方便了我们编写插件对源文件进行处理,实施反混淆甚至一些更高级的应用分析来方便兴许的人工分析。
5)怎样使用Android Studio把自己的Android library分享到jCenter和Maven Central
关于通过Android Studio公布Android library的文章非常多。但这一篇应该说是眼下最为详尽的。
iOS开发
1)iOS应用程序的生命周期
iOS应用程序一般都是由自己编写的代码和系统框架(system frameworks)组成,系统框架提供一些基本infrastructure给全部app来执行,而你提供自己编写的代码来定制app的外观和行为。
因此,了解iOS infrastructure和它们怎样工作对编写app是非常有帮助的。
2)iOS 9: UIStackView入门
同iOS以往每一个迭代一样。iOS 9带来了非常多新特性。UIKit框架每一个版本号都在改变,而在iOS 9比較特别的是UIStackView,它将从根本上改变开发人员在iOS上创建用户界面的方式。
本文将带你学习怎样使用UIStackView创建用户界面。
3)使用Jenkins搭建iOS开发的CIserver
持续集成CI(continuous integration)是一种能够添加项目可见性。减少项目失败风险的开发实践。
iOS开发中CI的选择有非常多,比方能够使用Apple提供的Bots来完毕自己主动化构建和单元測试,其长处就是和Xcode深度集成。仅仅需几步配置就能够完毕。缺点就是不够灵活,可定制化程度不高。
这篇文章主要解说怎样使用开源社区的一个CI工具Jenkins来搭建iOS开发的CI环境。
假设是搭建单独CIserver的话。就须要一台单独的mac机器了。
4)iOS9适配系列教程
iOS9适配问题的总结。
技术纵横
1)Go 1.5新特性:支持Android,实验性支持iOS(演讲幻灯)
Go语言开发团队成员Andrew Gerrand在2015年2月份FOSDEM上的演讲幻灯。幻灯中介绍说,Go 1.5计划在2015年8月份公布。眼下已经进入功能冻结阶段。其它主要内容:
- Go 1.5会将GC工具链从C切换到Go;Go 1.5的工具链或执行时中都不会有C代码了;
- Go 1.5支持一些新的GOOS/GOARCH组合。不再支持Apple OS X 10.6;
- Go 1.5能够制作Go可用的Go共享库(shared libraries)。
- Go 1.5会支持Android,并试验性支持iOS。
2)NGINX引入线程池 性能提升9倍
NGINX採用了异步、事件驱动的方法来处理连接。这样的处理方式无需(像使用传统架构的server一样)为每一个请求创建额外的专用进程或者线程,而是在一个工作进程中处理多个连接和请求。为此,NGINX工作在非堵塞的socket模式下。并使用了epoll 和 kqueue这样有效的方法。
3)怎样设计一个比較完备的、实用户黏性的用户激励体系?
像百科、论坛这样没有实际物质利益激励的社区或者app,怎样通过完好的精神层面激励,提高用户黏性?经常使用的手段有哪些?设计用户成长体系的时候须要注意哪些问题?
开源函数库与工具
1)GuillotineMenu-Android
Yalantis出品的一个开源函数库,实现炫酷的菜单效果。