Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
89 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# [平安金融科技移动技术周报](https://github.com/PaicHyperionDev/MobileDevWeekly)(第十五期) | ||
|
||
> @author ASCE1885的 [Github](https://github.com/ASCE1885) [简书](http://www.jianshu.com/users/4ef984470da8/latest_articles) [微博](http://weibo.com/asce885/profile?rightmod=1&wvr=6&mod=personinfo) [CSDN](http://blog.csdn.net/asce1885) [知乎](https://www.zhihu.com/people/asce1885) | ||
[外网链接](http://paichyperiondev.github.io/MobileDevWeekly/) [壹翎阁论坛链接](http://139.196.14.76/t/topic/275/1) | ||
|
||
> **本期导读**:本期原创部分带来关于 Redex 的简介,虽然目前还不成熟稳定,但可以持续关注!Android 篇重点关注进程保活的介绍,很详尽;iOS 篇带来一篇系统重构实践,个中思想有借鉴意义;React Native 开源一周年,FaceBook F8 会议推出基于 React Native 的 F8 APP 以及 对应的开发指南,可以作为开发模版进行学习。开源方面,还可以关注一些 Google 推出的 agera,一个类似于 Rxjava 的函数库,或许在不久的将来,你能够在 Support Library 中见到它。 | ||
## 原创专题 | ||
|
||
#### 1)[基于 Facebook Redex 实现 Android APK 的压缩和优化](http://mp.weixin.qq.com/s?__biz=MzAwMTYwNzE2Mg==&mid=2651036594&idx=1&sn=b276c0f76cea713e5d568ab51e3f7f13&scene=0#wechat_redirect) @ASCE1885(应用架构组) | ||
|
||
最近 Facebook 开源了一个名为 Redex[1] 的工具包,专门用于 Android 字节码的优化,经过 Redex 转换后的 APK,体积变得更小,运行速度变得更快。Redex 基于管道的方式来优化 Android 的 .dex 文件,一个源 .dex 文件通过管道进行一系列的自定义转换后,将得到一个优化的 .dex 文件。接下来将带大家简单快速的了解 Redex 是什么,以及它的基本原理和使用方法。 | ||
|
||
|
||
## Android开发 | ||
|
||
#### 1)[关于 Android 进程保活,你所需要知道的一切](http://www.jianshu.com/p/63aafe3c12af#) | ||
|
||
关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。 | ||
|
||
#### 2)[Android 单元测试: 首先,从是什么开始](https://segmentfault.com/a/1190000004930175) | ||
|
||
单元测试是为了测试某一个代码单元而写的测试代码。但是什么叫“一个代码单元”呢?是一个模块、还是一个类、还是一个方法(函数)呢?不同的人、不同的语言,都有不同的理解。一般的定义,尤其是是在OOP领域,是一个类的一个方法。在此,我们也这样理解:单元测试,是为了测试某一个类的某一个方法能否正常工作,而写的测试代码。 | ||
|
||
#### 3)[Android插件化原理解析——广播的管理](http://weishu.me/2016/04/12/understand-plugin-framework-receiver/) | ||
|
||
在Activity生命周期管理 以及 插件加载机制 中我们详细讲述了插件化过程中对于Activity组件的处理方式,为了实现Activity的插件化我们付出了相当多的努力;那么Android系统的其他组件,比如BroadcastReceiver,Service还有ContentProvider,它们又该如何处理呢? | ||
|
||
#### 4)[Android线程的正确使用姿势](http://mrpeak.cn/blog/android-threading/) | ||
|
||
线程是程序员进阶的一道重要门槛。对于移动开发者来说,“将耗时的任务放到子线程去执行,以保证UI线程的流畅性”是线程编程的第一金科玉律,但这条铁则往往也是UI线程不怎么流畅的主因。我们在督促自己更多的使用线程的同时,还需要时刻提醒自己怎么避免线程失控。 | ||
|
||
#### 5)[Android架构合集](http://www.jianshu.com/p/1f21e1d375aa) | ||
|
||
Android 架构相关的文章及开源库合集。 | ||
|
||
## iOS开发 | ||
|
||
#### 1)[iOS遗留系统重构实践](http://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112090&idx=1&sn=7e00d0da704f99ef93ffd815731f1fd9&scene=0#wechat_redirect) | ||
|
||
在过去的几个月内,我主导着团队完成了一项工程浩大(累积八个人月的工作量)的重构工作——为我们的App替换数据库。之所以能够把这种伤筋动骨的事情称之为重构,是因为在这段时间内,我们每天向主干合并两到三次代码,期间App上线五次,用户没有感知到任何影响。在这篇文章中,我将讲述我们如何在不影响系统外部行为,也不影响正常交付的情况下,替换掉了数据库实现。 | ||
|
||
#### 2)[Service Oriented 的 iOS 应用架构](http://tech.glowing.com/cn/service-oriented-ios-architecture/) | ||
|
||
在 Glow Baby 的开发中,我们也做了一些新的尝试 - 使用 Swift 开发,并基于 Swift 的语言特点设计了新的 iOS App 架构。总体上,写 Swift 更加有趣,所有的努力最终也证明是值得的:App 运行更加流畅,代码更整洁可读性更高,我们开发效率也大大提高。 | ||
|
||
#### 3)[React Native 的 Navigator 组件使用方式](http://www.wangchenlong.org/2016/04/19/1604/191-rn-navigator) | ||
|
||
React Native的编程思想类似于iOS, 导航栏也使用Navigator作为标识, 类似于Android的ActionBar. 导航栏作为最重要的应用组件之一, 除了处理页面导航功能以外, 还会提供页面栈的管理, 管理页面的跳入和跳出. 本文介绍一下 Navigator 组件的使用方式。 | ||
|
||
## 技术纵横 | ||
|
||
#### 1)[构建 Facebook F8 2016 App / React Native 开发指南](http://f8-app.liaohuqiu.net/) | ||
|
||
每年,作为 F8 会议的一部分,Facebook 都会开发一款会议相关的 iOS 和 Android 的 app,让参会者可以通过 app 安排会议行程,了解更多关于演讲和演讲者的信息。这个 app 还提醒参会者即将开始的演讲,或者发送一些临时公告。今年,我们不仅在 GitHub 上开源了代码,我们还制作了一系列的教程。想用简单明了的语言介绍 React Native 及其开源生态。 | ||
|
||
#### 2)[Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)](http://blog.csdn.net/luanlouis/article/details/24589193) | ||
|
||
Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象。由于JVM通过字节码的二进制信息加载类的,那么,如果我们在运行期系统中,遵循Java编译系统组织.class文件的格式和结构,生成相应的二进制数据,然后再把这个二进制数据加载转换成对应的类,这样,就完成了在代码中,动态创建一个类的能力了。 | ||
|
||
#### 3)[数据库的设计:深入理解 Realm 的多线程处理机制](https://realm.io/cn/news/threading-deep-dive/) | ||
|
||
你想知道在 Realm 的引擎盖下它到底是怎么工作的。你想学习些相关的理论、机制和背后的原因。好吧,你来到正确的地方了。 我们马上会讲到相关的所有有趣的细节。在这篇博文里,我们会解释 Realm 是如何还有为什么是这样构建的,以及它重要的原因。 | ||
|
||
#### 4)[平安金融科技测试技术周报(第二期)](http://www.jianshu.com/p/2c771cfeac60#rd) | ||
|
||
本期测试技术周报首先为大家带来两篇原创文章,然后介绍了React和go语言的测试方法,同时搜集各大互联网公司在持续集成和平台化方面的实践经验。不过要重点推荐还是最后的测试杂谈,让我们带着google老大哥的烦恼讨论下开发和测试的关系。 | ||
|
||
#### 5)[React Native 的一周年回顾](https://github.com/gaohailang/blog/issues/23) | ||
|
||
本文翻译自Facebook工程团队的官方博客,React Native: A year in review,本文分别从 RN 起源,项目过去一年在FB内部的发展,在业界的广泛使用和生态圈的快速建立,在 Github 上的开源协作,核心团队对 RN 的未来展望等进行一一讲述,来吧看看 RN 的传奇之路。 | ||
|
||
## 开源函数库与工具 | ||
|
||
#### 1)[JSPatchX](https://github.com/bang590/JSPatchX) | ||
|
||
JSPatch XCode 代码补全插件。 | ||
|
||
#### 2)[agera](https://github.com/google/agera) | ||
|
||
Agera 是 Google 开源的一个帮助你在 Android 上写函数式、异步和响应式编程的函数库。 | ||
|
||
|
||
|
||
|
||
> 欢迎关注我们团队的技术公众号 | ||
![](http://upload-images.jianshu.io/upload_images/191937-85d04d5eec527391.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) |