@author ASCE1885的 Github 简书 微博 CSDN 知乎
由于微信公众号屏蔽外部链接,详情请点击底部 阅读原文
Photo by weekto
本期关键词:反编译,智能音箱,React Native,Kotlin,Uber,Dagger2,数据库,WebP,Redux。
原创专题
1)Android反编译分享
- 作者简介:黄成华,高级 Android 工程师,来自客户端架构组
- 内容简介:本文介绍了 Android 开发中反编译的基本原理和常用的工具,同时介绍了涉及 Smali 简介,代码插桩以及一个实战的例子,手把手教你如何破解第三方应用。
2)叮当:一个开源的中文智能音箱项目
- 作者简介:潘伟洲,高级 Android 工程师,来自客户端架构组
- 内容简介:这个项目其实来源于我生活中的一个需求:我每天晚上都会去厨房做一个面包当明天的早餐,当我把用料按顺序准备好放进面包机时,我需要准确预约到明天早上我吃早餐的时间。然而,几乎每次在这个时候我都没有带手机在身边,而是都放在客厅里充电,这时只能跑去客厅看时间。虽然厨房到客厅只有几步之遥,但自己又是懒癌患者,每天都要这么来回奔波就觉得很不方便。要解决这个问题当然有很多种方法,比如直接买个小时钟放在厨房。不过我更希望“连看都不用看”,直接有人告诉我时间。所以,我需要一个像 Amazon Echo 那样的智能音箱。
3)我的 React Native 技能树点亮计划 & 基于 JavaScriptModule 实现 Native 调用 Js 方法
- 作者简介:ASCE1885,《Android 高级进阶》作者
- 内容简介:在 React Native 开发中,某些情况下存在需要从 Native 端直接调用 Javascript 代码中某个方法的需求,这时候我们就需要用到 JavaScriptModule 这个接口,本文将会带你一步一步定制自己的 JavaScriptModule。
4)Android 开发中 Kotlin 会取代 Java 吗?
- 作者简介:ASCE1885,《Android 高级进阶》作者
- 内容简介:本文是 5 月 19 号在我的小密圈的一个问答,之前也在我的微信公众号分享过截图,但过了几天发现本文原封不动的出现在另外一个圈子里面,而且没有任何转载和出处说明,为了避免再过几天在微信公众号上也被抄袭,所以还是正式发布在微信上好了。
Android开发
1)HTTPS 原理浅析及其在 Android 中的使用
- 作者简介:曹丰斌
- 内容简介:本文首先分析HTTP协议在安全性上的不足,进而阐述HTTPS实现安全通信的关键技术点和原理。然后通过抓包分析HTTPS协议的握手以及通信过程。最后总结一下自己在开发过程中遇到的HTTPS相关的问题,并给出当前项目中对HTTPS问题的系统解决方案,以供总结和分享。如有不当之处,欢迎批评和指正。
2)Uber 的 Android 代码仓库演化史
- 译者简介:薛命灯
- 内容简介:在 Uber 技术日开幕式上,软件工程师 Aimee Lucido 呈现了一个有关 Uber Android 代码库历史的演讲。在这篇文章里,她继续展开说明 Uber 为什么要构建一个单体仓库来支持 Uber 的 Android 开发。
3)使用 Dagger 2 让你的类依赖关系一目了然
- 作者简介:张海林,英语流利说 Android 工程师
- 内容简介:Dagger 2 是 Google 开源的轻量级 Java 依赖注入工具,其在编译时完成注入的特性使得 Android 代码可以以最低的性能代价来引入依赖注入功能。最近我们的“雅思流利说”项目中引入了 Dagger 2,这个过程间接地使得代码的依赖关系非常清楚,给我的感觉就像是 Dagger 2 的代码为我们画出了 UML 依赖关系图。
4)Kotlin 和 Checked Exception
- 作者简介:王垠
- 内容简介:最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦定语言”,很多人听了之后热血沸腾。初学者们也开始注意到 Kotlin,问出各种“傻问题”,很“功利”的问题,比如“现在学 Kotlin 是不是太早了一点?” 结果引起一些 Kotlin 老鸟们的鄙视。当然也有人来信,请求我评价 Kotlin。对于这种评价语言的请求,我一般都不予理睬的。作为一个专业的语言研究者,我的职责不应该是去评价别人设计的语言。然而浏览了 Kotlin 的文档之后,我发现 Kotlin 的设计者误解了一个重要的问题——关于是否需要 checked exception。对于这个话题我已经思考了很久,觉得有必要分享一下我对此的看法,避免误解的传播,所以我还是决定写一篇文章。
5)如何看待 Kotlin 成为 Android 官方支持开发语言?
- 作者简介:技术小黑屋
- 内容简介:Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言。一时间朋友圈和Android圈被各种刷屏。当然我也顺势而为发布了一篇的文章《为什么我要改用Kotlin》,着实狠狠地蹭了一波热度(尽管这样会被鄙视)。眼下Android圈已经躁动了,甚至严重到如果对Kotlin视而不见就显得自己不像一个合格的Android程序员。本文尝试从一个客观全面一点儿的角度来看待这件事情,尽力为大家提供一个比较理性的观点供参考。
iOS开发
1)Uber 使用 Swift 重写 App 的踩坑经历及解决方案
- 作者简介:托马斯·阿特曼,Uber 移动架构和框架组负责人
- 内容简介:Uber现在的用户量已经达到数百万,这么大的用户量,Uber是如何用框架实现的呢?今天我想谈谈一百多名Uber工程师是如何使用Swift编程语言的,在上周三新发布的Rider App主应用程序全部都是用Swift语言重构的。接下来我的分享主要包括三个部分:选择Swift的原因、Uber新架构;重构经验。
2)微信移动端数据库组件WCDB系列(一)-iOS基础篇
- 作者简介:sanhuazhang
-
内容简介:对于iOS开发者来说,数据库的技术选型一直是个令人头痛的问题。由于Apple提供的CoreData框架差强人意,使得开发者们纷纷将目光投向开源社区,寻找更好的存储方案。
对于微信也是如此。数据库是微信内最基础的组件之一,消息收发、联系人、朋友圈等等业务都离不开数据库的支持。为了满足需求,我们也对现有方案做了对比研究。
3)58 同城移动端 Passport SDK 的设计与技术细节
- 作者简介:张达理,目前就职于 58 同城,任 iOS 客户端架构师。专注于跨端 SDK 研发以及性能优化,主导了 58 Passport SDK 的架构设计及研发。
- 内容简介:58 赶集集团旗下拥有多个 App,且全部使用同一套账号体系,通过 Passport 部门提供的接口进行通信。经过多年迭代,各个 App 中关于 Passport 的功能均出现了一些流程和接口上的差异。为了提高账号安全,统一服务接口和流程,提高用户体验,由此决定开发了一个 Passport SDK,以集成 Passport 的相关功能,并提供给集团内各业务 App 使用。
技术纵横
1)WebP已经适合主流使用?美图图像选型评测及优化历程
- 作者简介:刘智辉,美图公司架构平台研发工程师
- 内容简介:图像的格式及编码是互联网应用非常关键的基础架构问题,同时如何选择合适的图片格式,如何选择合适的压缩算法以及相关参数都是很有挑战性的技术难点。本文作者是美图资深图像处理专家,介绍其评测对比常用格式及常用算法和工具的优缺点,可以作为相关技术选型及优化的重要参考。
2)Shoutem:基于React Native的WordPress
- 译者简介:谢丽
- 内容简介:近日,Shoutem 推出了新的基于 React Native 的应用构建器,为开发人员提供了移动应用领域的 WordPress。Shoutem 让开发人员可以使用一个可视化环境快速创建基于 React Native 的应用。该环境让开发人员可以定义应用的各种元素,如布局、内容来源和第三方模块集成。应用布局设计通过选择一个预定义的模块然后再定义每个元素的内容来实现。
3)Redux状态管理之痛点、分析与改良
- 作者简介:kpaxqin
- 内容简介:如何设计 Redux 的 store?这几乎是 Redux 在实践中被问到最多的问题,或许你有自己的方式,却总觉得哪里不太对劲。这篇文章希望从状态是什么,到 Elm 中的状态管理,最后与 Redux 分析和对比,试图找到问题,并推导可行的改良方式。
4)技术团队里什么样的人会被清除?抢老板的工作干合适吗?
- 作者简介:孔令欣,点融 CTO,曾履职微软、NetAPP 的硅谷顶尖技术研发团队,是中国第一批从事云平台技术开发的专家。斯坦福大学符号学学士 (计算机学和心理学双专业),擅长人机交互 (HCI) 技术。2013 年加入点融,一手搭起点融技术体系。
- 内容简介:团队的组建与整合从来就不是易事,在什么情况下,老员工会被清理?为什么做不熟悉的事儿,争取去抢老板的工作反而会加速公司的发展?业务和技术的关系是怎样的?对于团队管理者来说,技术不是最重要的领导力?
欢迎关注我们的微信公众号:金融壹账通移动研发团队