平安金融科技移动技术周报(第二十八期)

平安金融科技移动技术周报(第二十八期)

@author ASCE1885的 Github 微博 CSDN 知乎

平安金融科技移动技术周报(第二十八期)_第1张图片
tech.jpeg-385.8kB

本期导读:本期原创专题带来 Java 集合源码的分析以及 React Native 系列教程第四弹,Android 篇带来 UI 架构,性能优化等文章;iOS 篇带来开发质量和自动化构建相关文章;技术人生篇可重点关注如何更好的利用时间。

原创专题

1)Java集合探索-ArrayList和HashMap分析 @陈维新(产品服务组)

Java集合框架因为其功能强大而受到广大码农的喜爱,相信大家应该不陌生,它位于Java.util包下面,本文介绍了两种常用的集合--ArrayList和HashMap的部分源码解读。

2)我的 React Native 技能树点亮计划 の React Native 从 ES5 到 ES6 的语法升级 @ASCE1885(应用架构组)

ECMAScript 2015(为了行文简短起见,后文统称为 ES6)已经于 2015 年 6 月份正式发布,React 框架从 v0.13 版本开始增加对 ES6 语法的支持,React Native 框架从 v0.18.0 版本开始,例子工程 AwesomeProject 的index.android.js 和 index.ios.js 中的语法也由之前版本的 ES5 语法切换到 ES6 语法。虽然官方没有明确说不鼓励 ES5 语法,但使用 ES6 代替 ES5 是大势所趋,为何不就现在开始做呢?在新开发的代码中,我们建议尽量使用 ES6 语法。下面就来具体说说 React Native 开发中哪些方面涉及到 ES5 语法到 ES6 语法的升级。

Android开发

1)Android打包提速实践 @天之界线2010

本文分享了如何提高 Android 构建速度的一些方法和技巧,值得好好应用。

2)GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean @Chevalier

十年前,Martin Fowler撰写了GUI Architectures一文,至今被奉为经典。本文所谈的所谓架构二字,核心即是对于对于富客户端的代码组织/职责划分。纵览这十年内的架构模式变迁,大概可以分为MV与Unidirectional两大类,而Clean Architecture则是以严格的层次划分独辟蹊径。从笔者的认知来看,从MVC到MVP的变迁完成了对于View与Model的解耦合,改进了职责分配与可测试性。而从MVP到MVVM,添加了View与ViewModel之间的数据绑定,使得View完全的无状态化。最后,整个从MV到Unidirectional的变迁即是采用了消息队列式的数据流驱动的架构,并且以Redux为代表的方案将原本MV*中碎片化的状态管理变为了统一的状态管理,保证了状态的有序性与可回溯性。

3)Android端应用秒开优化体验 @zhengxiaoyong

最近部门内抛出了一个问题,应用启动很慢、卡图标?主要表现在中低端机型中。究其这个问题,由于对性能优化比较感兴趣,借了个低端机和一个中端机来一看究竟,对同一应用分别测了下它在中低端机的启动时间。

4)HermesEventBus-饿了么开源的Android跨进程事件分发框架 @进击的小羊

由于Android不同进程之前不能相互通信,所以当开发过程中遇到跨进程通信的时候,常用的方案就是AIDL(Android Interface Definition Language)通过它我们可以定义进程间的通信接口,但是当应用中出现大量跨进程通信的时候,比如你想体验一下插件化开发或者特殊需求在单应用中需要开多个进程,那么写过AIDL的同学都会有痛不欲生的感觉。现在福利来了,可以试试饿了么开源了一款进程间事件分发的库—HermesEventBus。

5)深入理解 ButterKnife,让你的程序学会写代码 @霍丙乾

本文主要介绍的 ButterKnife 其实就是一个依托 Java 的注解机制来实现辅助代码生成的框架,读完本文,你将能够了解到 Java 的注解处理器的强大之处,你也会对 Dagger2 和 AndroidAnnotations 这样类似的框架有一定的认识。

iOS开发

1)CocoaPods组件平滑二进制化解决方案 @曹俊

在iOS开发中,事实标准是我们使用CocoaPods生成、管理和使用library。这里的library就是一个模块、组件或库。二进制化指的是通过编译把组件的源码转换成静态库或动态库,以提高该组件在App项目中的编译速度。

2)iOS开发质量的那些事 @skylin

质量问题不仅仅是商品应该注重的,在移动互联占据人们各个生活领域的前提下,产品质量更显重要,以最具人气和潜力的iOS为例,iOS从系统研发和客户端软件开发环节对质量的要求异常高,在注重用户体验的同时提升产品质量,这也是很多用户非iOS不用的原因,iOS系统已经让移动互联网的品质得到升级。那么我们在开发iOS产品时,如何提高它的质量呢?

3)Fastlane - iOS 和 Android 的自动化构建工具 @icyleaf

初时 fastlane 的时候是去年的 11 月份,看到大就感觉遇到了神器一般的惊喜。它一个针对于 iOS 和 Android(后来才支持的)全方位自动化流程的工具。

4)深入浅出 Fastlane 一看你就懂 @icyleaf

本篇着重介绍 fastlane 本身的基本使用,这里使用 fastlane v1.98.0 作为演示版本。

技术人生

1)为什么要开始写作 @碎碎.ike

如果你要从一堆人中决定出一个职位的合适人选,雇那个写作最厉害的人。这个人不在乎是不是营销人员、推销员、设计师、程序员,无论是谁;他们的写作技巧会对此有益。

2)寻找时间成为一名更优秀的程序员 @Bill Sourour

没有时间做任何事。这就是你感受,不是吗?没有时间学习你觉得你需要学会以跟上潮流的知识。没有时间回过头去重构那些丑陋的代码。它至少能工作,何况截止日期马上就要到了。没有时间编写单元测试。没有时间为今后要维护你代码的伙计编写文档或注释。没有时间思考。没有时间呼吸。没时间!

3)CTO、技术总监、首席架构师的区别 @阿朱

经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO。我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥。

欢迎关注我们团队的技术公众号

平安金融科技移动技术周报(第二十八期)_第2张图片

你可能感兴趣的:(平安金融科技移动技术周报(第二十八期))