平安科技移动开发二队技术周报(第五期)
@author ASCE1885的 Github 微博 CSDN
业界新闻
1)Google I/O 2015 为 Android 开发者带来了哪些福利?
今年的更新有些不给力,至少显得不够 Geek。我也不打算接着盘点一些在 Keynote 中的资讯,想必很多人在各个站点已经看过不知道多少遍了,我接下来想说的一些是关于这次 Google I/O 为 Android 开发者们带来了怎样的福利。
2)GitHub宣布开发去中心化版本GitTorrent
著名的代码托管网站GitHub宣布他们正在开发一个去中心化版本GitTorren,GitTorren是一个源代码托管在 BitTorren 上的Git库。
Android开发
1)MVP框架 – Ted Mosby的软件架构
MVP模式是一个把view从低层模型分离出来的一种现代模式。MVP由model–view–controller (MVC)软件模式衍生而来,常用于构建UI。
2)Android的材料设计兼容库(Design Support Library)
在Android Design Support Library的帮助下,我们为所有的开发者,所有2.1以上的设备,带来了一些重要的material design控件。你可以在这里面找到navigation drawer view,输入控件的悬浮标签,悬浮操作按钮,snackbar,选项卡以及将这些控件结合在一起的手势滚动框架。
3)关于Android的Data Binding技术
Data Binding即数据绑定,在很多前端框架中都有应用,比如Google维护的AngularJS就支持View和Model的双向绑定。当数据更新,框架收到通知,视图可以自动更新,View和Model可以做到松耦合。
4)通过 Navigation View 创建导航抽屉
随着 Google I/O 2015,新的 Android Design Support Library 也出现了。
Android Design Support Library 给开发者带来了一些重要的 Material Design 组件,并且向下兼容到 Android 2.1,Navigation View就是其中之一,可用于方便地创建导航抽屉。
5)Android触摸屏事件派发机制详解与源码分析
- View篇
- ViewGroup篇
- Activity篇
iOS开发
1)JSPatch – 动态更新iOS APP
JSPatch是最近业余做的项目,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的能力:动态更新APP,替换项目原生代码修复bug。
2)iOS如何进行动态链接
iOS is often criticised for not supporting dynamic libraries. While you might agree or disagree, it is interesting to think about why it is so and how this rule is eventually enforced.
3)Xcode 6制作动态及静态Framework
有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布,相信小伙伴们已经都知道了,Xcode 6支持做Framework了
4)如何处理iOS中照片的方向
使用过iPhone或者iPad的朋友在拍照时不知是否遇到过这样的问题,将设备中的照片导出到Windows上时,经常发现导出的照片方向会有问题,要么横着,要么颠倒着,需要旋转才适合观看。
5)深入理解RunLoop
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。
技术纵横
1)如何提高影响力,为自己代言
每个人都可以是一个品牌,对于一个程序员来说,我们的ID就是我们的品牌。而构成品牌的有多个要素:
- 博客
- Github
- Weibo(or Twitter)
- StackOverflow(or SegmentFault, Zhihu)
等等
2)Web缓存机制系列
虽然文章有点老了,但基本思想还是值得借鉴学习的。
3)白板编程浅谈——Why, What, How
这篇文章来阐述为什么要进行白板编程(WHY),什么是合适的白板编程题目(WHAT),以及如何进行白板编程(HOW),从而既帮助面试者更好的准备面试,也帮助面试官更好的进行面试。
4)深入浅出Docker系列
- Docker核心技术预览
- Docker命令行探秘
- Docker开源之路
- Docker的集成测试部署之道
5)来自雅虎的网站优化加速最佳实践
一系列最佳实践
开源函数库与工具
1)推荐几个非常有用的Android开发工具
能帮助团队提升工作效率的几个Android Studio插件和工具
2)cheesesquare
chrisbanes写的Android Design library的Demo,展示了如下组件的使用方法:
- Collapsing Toolbar
- FloatingActionButton
- View anchoring
- NavigationView
- Snackbar
3)AndroidGradleTemplate
Gradle + Android Studio + Robolectric + Espresso + Mockito + EasyMock/PowerMock + JaCoCo的一个完整的模版。