iOS开发周报:Google 有可能考虑在 Android 开发中引入 Swift,更加轻薄的 Apple Watch 可能于今年 WWDC 发布

2016 年 4 月 11 日

新闻

  1. Google 表示可能会将 Swift 作为 Android 开发的头等语言:Swift 自从发布以来就受到了很多开发者的欢迎,而在开源之后 Swift 的应用平台和使用场景得到了极大扩展,业界对于 Swift 开发者的需求也正在爆发式增长。最近,Google,Facebook 和 Uber 的开发人员在伦敦对这门语言进行了一些讨论。Google 的相关负责人表示正在考虑将 Swift 引入 Android 开发中,从而逐渐减少对 Oracle 和 Java 的依赖。相对于更容易移植和适配的 Kotlin,Swift 在编译速度上具有优势。而 Facebook、Uber 和 Lyft 等知名互联网企业也已经纷纷在自家的产品中使用了 Swift。在 Swift 开源后,其一大优势就是能够在服务器和客户端使用统一的语言,在有像是 IBM 这样的企业的支持下,Swift 正在向着这一愿景前进。
  2. 更加轻薄的 Apple Watch 第二代产品可能在 WWDC 上公布:Apple Watch 初代产品虽然在同类竞品中算是佼佼者,但是远没有达到市场预期。有限的应用场景和相对不便的佩戴体验可能是造成这一结果的重要因素。有消息称 Apple 可能在今年 WWDC 发布 Apple Watch 的第二代产品。相比于现在的 Apple Watch,新版本在厚度上将会减少 20% ~ 40%,并可能配置可以进行 Facetime 的摄像头和更好的 WiFi 模块。究竟新的 Apple Watch 能有何表现,第三方开发者们能在这个平台实现怎样的创意和功能,还要让我们拭目以待。

教程

  1. 教你用Xtrace 读懂Mantle 源码 Xtrace 是 iOS 开发中一个强大的调试框架,能详细打印出一个某个方法被调用的堆栈,方便调试时定位问题。这篇文章介绍了使用 Xtrace 追踪 Mantle 的调用,逐步帮助我们理解 Mantle 行为和源码的一个例子。在我们需要调试的代码和问题比较复杂的时候,使用 Xtrace 来进行辅助会是一个很好的选择。
  2. Swift 2 throws 全解析 - 从原理到实践:throws 关键字和异常处理机制是 Swift 2 中新加入的重要特性。Apple 希望通过在语言层面对异常处理的流程进行规范和统一,来让代码更加安全,同时让开发者可以更加及时可靠地处理这些错误。这篇文章从 throws 的内部实现探索了 throws 的一些细节,并为我们带来了在日常开发中使用 Swift 异常机制的一些实践方法。
  3. Using Swift Extensions The “Wrong” Way :Swift 中 extension 一般用来表示类型对某个接口进行扩展,但是这并不是 extension 的唯一用法。匿名的 extension 也可以用来对代码进行更好地组织,使其清晰可读。这篇文章为我们介绍了那些关于 extension 的“错误”用法,虽然这些用法并没有实际去将类型按照某个接口进行扩展,但是这并不是一种反模式的代码设计行为。恰恰相反,使用这些方法能够让代码更加优雅。
  4. 用更 Swifty 的代码遍历数据:在遍历一个 Array 的时候,我们可能会用 `for .. in`、`map`、`flatMap` 或者是 `forEach` 等等,这篇文章基于 `flatMap`,使用了一些模式匹配的方法来更好地处理 [T?] 。通过为 `SequenceType` 添加一些便利方法,我们可以用一种更易读和可维护的方式来更好地对存储可选值类型的数组进行遍历。

开源项目

  1. SwiftyMarkdown :一个将 markdown 转换为 `NSAttributedString` 的框架。相比于其他一些 markdown 解析的框架,SwiftyMarkdown 使用的是 Cocoa 框架的 `NSScanner` 来进行的实现,因此代码相对简单。不过如果你需要处理较多的 markdown 内容,可能选择其他一些更底层的实现会更合适。
  2. SwiftSVG :解析和显示 SVG 的库,可以将输入的字符串,文件,URL 等来源的 SVG 资源转换为可以直接描画显示的 `UIBezierPath` 对象。另外,该框架还额外提供一个 `SVGView` 来帮助开发者在 Interface Builder 中显示和调试 SVG 资源。如果你的应用中有需要用到或者显示 SVG 矢量图片资源的话,这个库会是很好的选择。
  3. KMNavigationBarTransition :用来统一管理导航栏转场以及当 push 或者 pop 的时候使动画效果更加顺滑的通用库。自定义 Navigation View Controller 导航栏的背景或者状态是 iOS 开发者一定会遇到的课题,这个框架帮助我们将复杂的操作细节进行了封装,而使用者只需要关心目标 view controller 的样式即可。

感谢徐川对本文的审校。

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

2016 年 4 月 11 日 19:001906
用户头像

发布了 60 篇内容, 共 17.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

万恶的NPE差点让我半个月工资没了

java金融

Java 程序员 互联网 NPE 空指针

Week 03- 作业二:学习总结

dean

极客大学架构师训练营

03周作业——设计模式

dao

设计模式 极客大学架构师训练营 作业

架构师训练营第三章作业

叮叮董董

架构师训练营 第三周作业

Glowry

极客大学架构师训练营

week 3

陈皮

Week 03- 作业一:设计模式

dean

极客大学架构师训练营

Week 03 学习总结

卧石漾溪

极客大学架构师训练营

架构师课程第三周作业

杉松壁

架构师训练营week3学习总结

Frank Zeng

【第三周】学习总结——Flower框架学习和设计模式

三尾鱼

极客大学架构师训练营

单例模式 & 组合模式

朱月俊

八张图彻底了解JDK8 GC调优秘籍-附PDF下载

程序那些事

JVM jdk8 「Java 25周年」 Java 25 周年 性能调优

谁再悄咪咪的吃掉异常,我上去就是一 JIO

楼下小黑哥

Java dubbo 踩坑经历

从单机事务到分布式事务

ElvinYang

week3

Geek_2e7dd7

架构师训练营第三周课后作业

竹森先生

极客大学架构师训练营

Tweak原理与越狱防护

大冯宇宙😏😏

大白话Java多线程,小白都能看的懂的哦

java金融

Java 多线程 线程安全 创建线程方式 什么是多线程

代码重构练习三

李广富

架构师训练营Week03

Frank Zeng

week 3学习总结

Geek_2e7dd7

代码重构--架构师必备技能

李广富

「架构师训练营」第 3 周作业 - 模式与重构

guoguo 👻

极客大学架构师训练营

架构师训练营作业 -20200621

caibird1984

极客大学架构师训练营

架构师训练营第三章总结

叮叮董董

Java HashMap loadfactor没有必要非是0.75

i风语

Java redis hashmap loadfactor hash

Week3总结+作业

林毋梦

极客大学架构师训练营

架构师训练营 Week 03 总结

Wancho

Week 03 命题作业

卧石漾溪

极客大学架构师训练营

最近一周总结

朱月俊

iOS开发周报:Google 有可能考虑在 Android 开发中引入 Swift,更加轻薄的 Apple Watch 可能于今年 WWDC 发布-InfoQ