征信移动端技术周报20170106

征信移动端技术周报20170106_第1张图片

本期导读: 本期周报原创专题带来自定义TextField,快点用下高逼格的TextField吧。swift搜集崩溃日志让你对打包应用后出现的bug也能得心应手!
iOS 带来了UILayoutGuide、逆向工程实战、功能强大的20个正则表达式、崩溃堆栈信息的符号化解析这四篇实用性巨高的干货。
H5带来了活动宣传页通用布局技术解决方案、H5容器技术方案、h5之重力感应篇、H5两大门派七种玩法这四种高新技术,带你装逼带你飞!
Android带来的热点技术则有:Android插件化开发、热修复、RxJava、RxBus、Kotlin语言。赶快收到碗里吧~

原创专题

1) TextFieldToolView - 输入框工具栏 @易愿(征信与贷款研发团队)

TextField 自带清空文本按钮密文输入按钮的功能,但是提供的API有限,能够DIY的地方非常有限,So......基于TextField的相关特性进行了封装,使我们能够更加自由的调整细节

2)swift搜集崩溃日志@黄世光(征信与贷款研发团队)

iOS开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,我们可以很快的定位异常的位置并解决问题。那么当应用已经打包,iPhone设备通过ipa的包安装应用后,在使用过程发现crash,那么如何获取crash日志呢?

本周热点采集

iOS开发

1) 是时候了解一下UILayoutGuide

UILayoutGuide是 iOS 9 中增加的帮助开发者在使用auto layout布局时的一个虚拟占位对象。最后再提醒一遍,这是 iOS 9 的新特性。愿上帝保佑那些还要支持 iOS 7 的孩子。最坑的是只能代码使用!

2)一步一步实现iOS微信自动抢红包(非越狱)

最近笔者在研究iOS逆向工程,顺便拿微信来练手,在非越狱手机上实现了微信自动抢红包的功能。

3)知道这20个正则表达式,能让你少写1,000行代码

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。

4)iOS崩溃堆栈信息的符号化解析

最近一段时间,在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题。简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的。但在跟开发者沟通过程中,云捕小编发觉大家对iOS的应用符号表还不是很清楚。

H5开发

1)H5活动宣传页通用布局技术解决方案

优秀美观的h5活动宣传页对手机屏幕的适配处理要求较高。页面适配中要注重用户视觉上的感受。

2)网易视频云技术分享:H5容器技术方案

个人总结:使用H5+Native的Hybrid模式开发APP,通过模版化的方式,快速承载业务的更新。

3)h5之重力感应篇

目前越来越多的设备自带陀螺仪技术实现重力感应效果。

4)H5两大门派七种玩法,高逼格这样玩!【H5案例精选合集】

h5技术越来越向纵深发展,诸如用H5+动画技术+全景技术+三维技术+智能硬件+移动支付+大数据平台,打造H5体系,H5会延伸到广告营销和用户生活的各种应用场景。

Android开发

1)Android插件化开发

Android程序每次更新都要下载一个完整的apk,而很多时候软件只是更新了一个小功能而已,这样的话,就显得很麻烦。把android程序做成主程序+插件化的形式呢,这样才利于小功能的扩展。这也是为了去适应并行开发,是为了解耦各个模块,是为了避免模块之间的交叉依赖,是为了加快编译速度,从而提高并行开发效率。

2)热修复

该方案基于的是android dex分包方案,简单的概括一下,就是把多个dex文件塞入到app的classloader之中。通过补丁来替换一些出现bug的类,当然下载补丁的过程用户一般是感觉不到的,表面上看是直接修复了bug. 热修复因为是为了修复Bug的,所以要将新的同名类替代同名的Bug类,要抢先加载新的类而不是Bug类,所以多做两件事:在原先的app打包的时候,阻止相关类去打上CLASS_ISPREVERIFIED标志,还有在热修复时动态改变BaseDexClassLoader对象间接引用的dexElements,这样才能抢先代替Bug类,完成系统不加载旧的Bug类。

3)RxJava

1.RxJava到底是什么:一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库,说到根上,它就是一个实现异步操作的库,而别的定语都是基于这之上的。RxJava 的异步实现,是通过一种扩展的观察者模式来实现的。RxJava 有四个基本概念:Observable (可观察者,即被观察者)、 Observer (观察者)、 subscribe (订阅)、事件。Observable 和 Observer 通过 subscribe() 方法实现订阅关系,从而 Observable 可以在需要的时候发出事件来通知 Observer。有点类似于iOS的RACSignal。2.RxJava好在哪:异步操作很关键的一点是程序的简洁性,因为在调度过程比较复杂的情况下,异步代码经常会既难写也难被读懂。 Android 创造的 AsyncTask 和Handler ,其实都是为了让异步代码更加简洁。RxJava 的优势也是简洁,但它的简洁的与众不同之处在于,随着程序逻辑变得越来越复杂,它依然能够保持简洁。

4)RxBus

得益于RxJava繁多的操作符与特性,结合此类基于RxJava的库,将使你的代码更加简洁,开发效率大大提高。RxBus,值得一提的是RxBus并不是一个库,而是一种设计思维,它可以巧妙利用RxJava的特性,完美替换掉了原事件总线类库(EventBus/Otto等)。

5)Kotlin语言

作为Android阵营的Swift ,在2015年也迎来了它的正式版。Kotlin拥有很多Java所不具备的特性,比如空指针安全,函数默认参数,默认包含模板类,对lambda的原生支持(在Android开发中,常常使用RxKotlin )等特性。Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中。

我们团队的技术公众号

你可能感兴趣的:(征信移动端技术周报20170106)