平安科技移动开发二队技术周报(第十四期)
业界新闻
1)Android Studio 1.3 正式发布
Android Studio 1.3 正式进入稳定版,求稳的同学该升级了。作为今年改进最大的一个版本,Studio 1.3 包括新的 memory profiler ,改进的测试支持,并且包含了完整的 C++ 编辑和调试功能。
Android开发
1)使用O-LLVM和NDK对Android应用进行混淆
Android开发中经常需要对敏感信息进行加密,避免不了要将密钥存放在终端设备上,那么如何防止密钥被逆向出来呢?这是一个先有鸡还是先有蛋的悖论。相比较将密钥写在Java层,将其下移到NDK层是个更好的选择,本文就来介绍如何对NDK层代码进行混淆,以更好的保护我们的密钥。
2)Android平台免Root无侵入AOP框架Dexposed使用详解
阿里巴巴无线事业部最近开源的Android平台下的无侵入运行期AOP框架Dexposed,该框架基于AOP思想,支持经典的AOP使用场景,可应用于日志记录,性能统计,安全控制,事务处理,异常处理等方面。
针对Android平台,Dexposed支持函数级别的在线热更新,例如对已经发布在应用市场上的宿主APK,当我们从crash统计平台上发现某个函数调用有bug,导致经常性crash,这时,可以在本地开发一个补丁APK,并发布到服务器中,宿主APK下载这个补丁APK并集成后,就可以很容易修复这个crash。
3)Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?
Android(Java)开发中,有哪些方法或类(接口)很实用,但是你却没能在第一时间知道它?当有一天你发现它时,只想说一句:“What the f**k,还有这个!”
4)如果让我重新设计一款Android App
一篇关于Android app技术选型的探讨。
5)全自动化的 Android 编译管线
本文阐述了作者在使用自动化工序去构建 Android 应用程序遇到的一些难题,大家不妨读读,希望能有所收获。
iOS开发
1)The Swift Programming Language 中文版
Swift 2.0来了!《The Swift Programming Language》中文版全新发布,37个章节全部完成更新!
2)iOS 并发编程之 Operation Queues
在 iOS 开发中,我们主要可以通过 Operation Queues、Dispatch Queues 和 Dispatch Sources 来提高应用的并发性,从而充分地利用多核心 CPU 的性能。本文主要阐述了 iOS 的并发编程模型,以及详细地介绍了 Operation Queues 的相关知识。
3)如何轻松实现iOS9多任务管理器效果(iCarousel高级教程)
文章带领大家实现了一个类似 iOS 9 中 app switcher 的动画效果。虽然只是用 Core Animation 的相关内容也是可以实现类似效果的,但是作者选用了 iCarousel 这个特性丰富的强大动画库,这节省了非常多的时间和代码量。
技术纵横
1)深入浅出React系列
2)跨终端Web之Hybrid App
Native App(以下简称Native)和Mobile Web(以下简称Web)二者混合开发的产物被称为Hybrid App(以下简称Hybrid)。Hybrid并不是什么新概念,最早可以追溯到Symbian时代,直到iOS和Android出现之后才充分展现出价值。
3)阿里百川技术分享:OneSDK与手机淘宝技术能力开放
随着大量第三方SDK的使用,一些问题也慢慢暴露出来,比如:
- 多平台。不同的App管理体系,多个密钥带来的安全问题,以及多次接入带来的集成成本。
- 多风格。不同SDK的初始化方法、接口标准,以及编程风格。
- 复杂依赖。不同SDK本身的依赖不同,会带来依赖关系混乱,版本冲突,以及引入不需要的依赖的问题。
- 包大小。由于不同SDK可能包含重复能力,带来重复依赖,以及不需要的资源导入,会带来包大小的超标。
4)100分程序员的8个习惯
- 慎于说Yes
- 敢于说No
- 构建自己的知识体系
- 培养大局观
- 代码规范
- 代码审查
- 学习业务知识
- 坚持
5)360加固保,应用安全攻防的核心实现
开发加固应用的技术门槛还是很高的。需要对于Android应用的运行机制具有非常深的理解。比如对于Dalvik虚拟机、DEX和OAT文件结构、动态链接的过程等都需要了然于胸。另外,还需要掌握攻防的技术,因为加固产品需要不停的技术迭代,对于常见的攻击方法进行防护。
开源函数库与工具
1)PINRemoteImage
图片社交 app 的始祖之一的Pinterest最近开源的一个 iOS 下的图片下载和缓存的框架。除了支持常规的异步下载和缓存之外,还支持是WepP或者gif这样的图片,同时支持JPEG图片的渐进式加载,堪比Android平台Facebook开源的Fresco。
2)WaveSwipeRefreshLayout
水滴式下拉刷新