Android 开发周报:Weex 高性能动态化方案详解

阅读数:3403 2016 年 5 月 17 日

话题:移动Android语言 & 开发架构

新闻

  1. 《Android N 第一版不支持压力感应下一版才有》:前不久国外媒体爆料,谷歌 Android 7.0 也就是 Android N 将会在今年 I/O 大会上公布,随着日期临近越来越多的消息被曝光,其中就包括原生支持压力感应屏幕功能。现在已经有很多 Android 厂商模仿苹果推出了压力感应屏幕的设计,但这些都是有实力的手机厂商单独开发的,并不是在 Android 系统当中原生的。根据新消息显示,第一版 Android 7.0 当中不会有,因为谷歌认为这项技术还不够成熟,有可能要等到 Android 7.1 版本才会引入。
  2. 《北京用户感染 Android 平台恶意程序最多》:话费莫名消失、银行卡被盗刷?很有可能是手机恶意程序在作怪。据 360 手机安全中心日前发布的《2016 年第一季度中国手机安全状况报告》显示,今年一季度,北京用户感染 Android 平台恶意程序最多,高达 875.3 万人次,居于全国首位,广州,南京,重庆,成都紧随其后。

教程

  1. 《Weex 详解:移动端高性能动态化方案》:在 4 月份的 QCon 北京 2016 上,阿里巴巴资深总监,淘宝移动平台及新业务事业部、阿里百川负责人庄卓然(花名南天)宣布阿里移动端跨平台开发框架 Weex 开始内测,并将于 6 月份开源。在大会第二天,阿里技术专家徐凯(花名鬼道)和阿里前端开发专家赵锦江(花名勾股)向参会者做了《Weex——灵活的移动端高性能动态化方案》的演讲,对这一技术方案进行了详细的剖析。本文是对演讲内容的整理。
  2. 《移动端 SDK 的优化之路》:每个 App 都会使用到 SDK,有的是来自公司内部的,有的是第三方的服务。如果我们希望自己的 SDK 能够便捷的、高性能集成到别人的 App 中,那么就需要对 SDK 进行高标准的优化。当然 SDK 最大的痛点是它的大小,最小的容量实现最多的功能是每一个 SDk 追求的最高境界。本文出自魔窗 SDK 团队的同学,从脚本构建、极限优化、第三方组件替换、小版本稳步迭代四个方面介绍了 SDK 的优化过程。
  3. 《Google 开源的 FlexboxLayout》:最近 Google 开源了一个项目叫 FlexboxLayout,简单来说 Flexbox 是属于 web 前端领域 CSS 的一种布局方案,是 2009 年 W3C 提出了一种新的布局方案,可以简便、完整、响应式地实现各种页面布局,并且 React Native 也是使用的 Flex 布局。我们可以简单的理解为 Flexbox 是 CSS 领域类似 Linearlayout 的一种布局,但是要比 Linearlayout 要强大的多。阅读文章,了解 FlexboxLayout 的具体使用方法。
  4. 《Android 安全团队:从 mediaserver 谈 Android 加固》:Google I/O 开发者大会日渐临近,我们期待 Google 对于 Android 系统的改进,而另一方面,Android Developers Blog 于日前发布了他们 5 月的第一篇文章,由 Android 安全团队的 Dan Austin 和 Jeff Vander Stoep 联合撰写,分享了 Media Hardening 项目的实践,从中可以一窥 Android 安全团队一直以来为 Android 系统安全所做的种种努力。阅读文章,了解详细内容。
  5. 《基于 TLS1.3 的微信安全通信协议 mmtls 介绍》:本文来自微信团队的分享。随着近些年网络安全事情的频繁发生,使得用户对网络通信安全的意识越来越强。国内外的网络服务提供商都逐渐提供全站的安全通信服务,如国内的淘宝、百度先后宣布已经完成了全站部署 https。微信现有的安全通信协议是基于用户登录的时候派发的 SessionKey 对应用数据进行加密的,该协议在工程实现上,已经过多次迭代优化,但是仍然有一些缺点。微信需要一套能够加密保护 Client 到 Server 之间所有网络通信数据、且加密通信保护必须对业务开发人员透明的安全通信协议,由此诞生了 mmtls。本文对 mmtls 进行了详细解析。
  6. 《从零开始的 Android 新项目 5 - Repository 层 (上) Retrofit、Repository 组装》:Retrofit 是 Android 界网红公司 Square 所开发维护的一个 HTTP 网络库,目前最新版本是 2.0.2(截止 2016 年 4 月 30 日)。其内部使用了自家的 OkHttp。首先,为什么我们需要 Repository 层呢?一言以蔽之:上层(activity/fragment/presenter)不需要知道数据的细节(或者说 - 数据源),来自于网络、数据库,亦或是内存等等。如此,一来上层可以不用关心细节,二来底层可以根据需求修改,不会影响上层,两者的分离用可以帮助协同开发。本文介绍了 Repository 层的具体实现方法。作者的这一系列文章实用性很强,推荐阅读。
  7. 《Android Studio 提示与技巧(官方文档翻译)》:Android Studio 的版本已经更新到了 2.1,如果你对 Android Studio 和 Intellij IDEA 的界面很陌生的话,这篇文章提供的一些技巧会对你有所帮助。本文介绍了一些最常用的技巧,能使我们更新熟练的使用 Android Studio,从而提高生产率。

开源项目

  1. UpdatePlugin:几乎每个 Apk 都会有自动更新功能,很多第三方的公司也提供自动更新的组件。该项目实现了一个比较完整的自动更新功能,提供多种策略的更新方式。
  2. paper-onboarding-android:这是一个适用于 Android 5.0 以上系统的引导页,集成简单方便,效果也很赞。
  3. 汽车速度控制仪表盘:该项目实现了汽车仪表盘的效果,动画效果比较流畅,该项目有助于我们学习 View 自定义。
  4. pull-to-make-soup:这是一个非常漂亮的下拉刷新动画,能够方便的集成到 RecyclerView 中。

感谢徐川对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。