[关闭]
@pockry 2017-09-01T16:13:02.000000Z 字数 3113 阅读 1446

移动开发每周阅读清单:第六十三期

移动


作者:靛青K & 郭亮

新闻

苹果选定 9 月 12 日在新总部乔布斯剧院举行年度发布会:苹果选定 9 月 12 日举行年度发布会。不过地点却是移师他们在库比提诺新落成的「太空船」总部里。虽说苹果没有明言会推出新 iPhone,但按惯例和最近愈发猛烈的谣言内容,估计是八九不离十了。除了 iPhone 外,最近有关新 Apple Watch 和 Apple TV,以及 HomePod 喇叭的消息也开始多起来,如果全都属实的话,看来这次的发布会内容相当丰富。

Google 发布 Google I/O 2017 for Android 的源代码:今年的应用对现有功能做出了实质性的修改,同时增加了几项新功能。它还扩展了技术栈,以便可以利用 Firebase。本文重点介绍了对该应用的几个显著改变以及当时的设计考虑。

Google 宣布推出了和 ARKit 对标的增强现实 SDK,名为“ARCore”:苹果的 ARKit 之所以被这么多人关注,是因为通过 ARKit,普通用户玩上 AR 的成本大大降低,他们不需要额外专业的硬件设备,只需一部 iPhone 就能把玩。Google 似乎被苹果一巴掌打醒了,近日发布的 ARCore 增强现实平台,某种程度上也和苹果的 ARKit 颇为相似。

教程

iOS

Struct References:对于一个 Model,不论它是 struct 还是 class ,使用上都有一些麻烦,Chris 为 struct 添加了一层封装,这可以让我们在使用 struct 时,还能拥有类似 KVO 的能力。

能偶尔用上的 awk:在 iOS 中获取一张本地图片通常都是传入一个图片名称的字符串,这很危险,我们可能拼错名称,也可能图片删除后忘记处理相关代码。因此我们可能考虑使用 R.swift 之类的方案,但实际上通过几个简单的 awk 命令即可完成图片资源的管理。

细说微信小程序:近来微信小程序十分火热,终于解放了我手机的存储空间,那么抛开这些不说,小程序到底是怎么实现的呢?是真正的 Native 吗?本文以 iOS 端为例,一探究竟!

self.delegate = self?:在 Objective-C 项目中,不少开发者们可能会写或者曾看到过这样的代码:self.delegate = self。本文采用自问自答、通俗易懂的方式讨论 self.delegate = self 这种做法是否妥当,以及这种做法将会带来的问题。

如何将iOS工程打包速度提升十倍以上:如果打包速度太慢, 会影响整个团队的开发进度。本文会分别讨论日常开发和持续集成这两种场景,分析打包速度慢的瓶颈所在,以及对应的解决方案。利用这些方案,笔者成功的把公司 app 的持续集成时间从 45 min 成功的减少到 9 min,效率提升高达 80%,理论上打包速度可以提升 10 倍以上。

React Native按需加载 手Q狼人杀探索之路:狼人杀游戏是多人实时性游戏,对流畅度等性能都有要求。作为大型游戏,无论从代码规模和迭代速度来看,手Q的安装包和版本迭代速度都无法用native来承载这样的游戏。从而React Native成为了比较好的选择。

Android

微信Android视频编码爬过的那些坑:摄像头,以及视频编码相关的API,Google一直对这方面的控制力非常差,导致不同厂商对这两个API的实现有不少差异,而且从API的设计来看,一直以来优化也相当有限,甚至有人认为这是“Android上最难用的API之一”。

Android漏洞扫描工具Code Arbiter:目前 Android 应用代码漏洞扫描工具种类繁多,效果良莠不齐,这些工具有一个共同的特点,都是在应用打包完成后对应用进行解包扫描。这种扫描有非常明显的缺点,扫描周期较长,不能向开发者实时反馈代码中存在的安全问题,并且对于问题代码的定位需要手动搜索匹配源码,这样就更不利于开发者对问题代码进行及时的修改。Code Arbiter 正是为解决上述两个问题而开发的,专门对 Android Studio 中的源码进行安全扫描。

ContentProvider引发闪退之谜:ContentProvider(以下简称CP)是 Android 的四大组件之一,提供类似数据库增删查改的数据操作方式,同时还支持跨进程。CP 在跨进程调用的场景中,作为数据提供的进程称作 Server 进程,请求数据的进程称作 Client 进程。当我们享受它在跨进程场景下带来的便利时,可能未曾想到 Client 进程存在被杀的隐患。

Android O 行为变更官方指南:Android O 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍了那些应该了解并在开发应用时加以考虑的一些主要变更。其中大部分变更会影响所有应用,而不论应用针对的是何种版本的 Android。不过,有几项变更仅影响针对 Android O 的应用。

Android签名证书你知多少?:关于Android应用的签名大家可能会相对比较忽视,因为作为 Android 系统的主导公司 Google,并没有象苹果那样要求开发者向它申请证书才能发布应用。但是实际上 Android 系统也是要求每个 Android 应用程序是必须要经过数字签名才能安装到系统中的,包括 Debug 的 Android 应用。但是 Android 应用的数字签名是由应用程序的开发者完成的,不需要权威的数字证书签名机构认证。今天我们就来谈谈 Android 的应用签名相关的那些事。

结合源码,探索Android中的Window与DecorView:Android 中 View 可以说是最为重要的几个地方之一,包括事件分发,测量,绘制等等,都是非常常见的情况。那么我们要想好好掌握这些知识,就得深入了解 Andorid 整个 View 从开始到完成所经历的一系列工作。本文分析的源代码均来自 Android API 24。

开源项目

iOS

wtfautolayout:这是一个基于 Vapor 完成的 Auto Layout 错误约束提示解析服务,你可以将 Auto Layout error log 转换成更友好并且可视化的描述。

FSPagerView:支持各种精美效果的轮播图组件。

HGPlaceholders:为 UITableView 和 UICollectionView 添加空状态、错误状态组件。

SakuraKit:用于 App 主题变更、皮肤切换的开源库(灵感源自 SwiftTheme、DKNightVersion等),采用函数式+链式编程方式,支持图标、色值、文字、字体等主题化。

Android

QMUI_Android:QMUI Android 的设计目的是用于辅助快速搭建一个具备基本设计还原效果的 Android 项目,同时利用自身提供的丰富控件及兼容处理,让开发者能专注于业务需求而无需耗费精力在基础代码的设计上。

RxTools:Android 开发人员不得不收集的工具类集合,包括支付宝支付、微信支付(统一下单)、微信分享、图片处理等等,强烈推荐收藏。

BaseRecyclerViewAdapterHelper:BRVAH是一个强大的RecyclerAdapter框架,它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。

MZBannerView:仿魅族 BannerView,图片轮播控件,支持多种模式切换。

工作

iOS工程师 by 手机京东

坐标北京。负责iOS平台手机京东App开发和维护。要求3年以上iOS开发经验。薪资面议。简历发送至 tanbing@jd.com

iOS/Android工程师 by 秒秒测科技(北京)有限公司

坐标北京。负责物联网和智能硬件业务中移动App的开发工作。要求1-3年移动开发经验。薪资10-25K。简历发送至 hr@zenmeasure.com

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注