写点什么

iOS 开发周报:Swift 开源,新的包管理和 Swift 3.0 前瞻

  • 2015-12-08
  • 本文字数:2107 字

    阅读完需:约 7 分钟

新闻

  1. Apple 开源 Swift :WWDC 15 上 Apple 宣布会在年内开源 Swift,而本周 Apple 如约开源了 Swift。公开的源代码包括之前大家已经知道的 Swift 编译器,标准库和 REPL 环境等,另外这次 Apple 开同时开源了一个 Swift 重写的 NSFoundation 框架和一个全新的包管理系统。所有的项目都可以运行在 OS X 和 Linux 上,这也是 Apple 迈向跨平台的重要一步。Apple 以 Apache License 2.0 以及一个 runtime 例外的条款进行开源,这是一个比较宽松的条件,基本意味着你可以在自己的项目中保留版权说明的情况下随意使用。对于 app 开发者来说,Swift 开源意味着会有更多社区力量成为持续不断的开发,并推进这门语言的发展。同时 Swift 的路线图也在这里进行了公布,开发者们可以在这里找到 Swift 2.2 和 3.0 可能迎来的变化。
  2. Apple Watch 第三季度估算销量为 390 万部:Apple 选择不在财报中单独列出 Apple Watch 的销量,这让业界纷纷猜测。最近国际数据公司 (IDC) 给出了一份全球可穿戴设备销量的预估。2015 年第三季度 Apple Watch 的估算销量在 390 万部左右,在可穿戴设备的市场上仅落后于 Fitbit。这个数字相信也可以为企业决定是否要开发适配 Apple Watch 的应用的决策提供了一些依据。
  3. 知名 OS X 应用 Sketch 宣布退出 Mac App Store :和 iOS 的 App Store 不同,因为 OS X 的开发者可以自行销售软件,所以上架 Mac App Store 并不是唯一选择。Sketch 是 OS X 上一款绘图软件,专注于为应用界面和 UI 进行绘制,受到很多开发者和设计师喜爱。本周 Sketch 开发团队宣布他们将退出 Mac App Store,而仅在自己的商店进行授权销售。此前,用户可以选择在 Apple 商店或者 Sketch 商店进行购买。Sketch 给出的理由是无法提供一些沙盒外的功能,较长的审核时间不利于 bug 修正,以及没有升级价格等问题。这些确实也是当前 Mac App Store 面临的主要问题,本次 Sketch 团队的退出是一个危险的信号,希望 Apple 能及时改进 App Store 的体验。

教程

  1. Objective-C 引用计数原理:一篇比较底层的探索 Objective-C 中引用计数实现的文章。虽然在 ARC 时代对 iOS 开发者来说内存管理已经非常简单了,但是这一套内存管理从原理上并没有改变。从一个 iOS 入门者进阶的道路上,内存管理的方式和原理总是不可能绕过的门槛。这篇文章和之前的黑幕背后的 Autorelease 从比较底层的角度为我们详解了这方面的内容。不论是 iOS 开发新人还是已经有一定层次的开发者应该都能在这两篇文章中有所收获。
  2. Xcode 插件: MMNavigatorFont :一个 Xcode 插件开发的教程,从目标开始到最终效果一步步为我们讲述了如何实现一个可以替换 Xcode 项目面板中字体的插件。Xcode 插件的开发现在没有 Apple 的官方支持,不过 Apple 对于插件开发是采取默许态度的。作为业余时间满足开发好奇心的话,开发 Xcode 插件还是很有意思的一项活动。如果你有需要 hack Xcode 的需求的话,这篇文章可以带领你入门 Xcode 插件开发。
  3. OS X Feast :Raywenderich 推出了一系列 OS X 开发的教程,帮助开发者上手 OS X 开发。相对于 iOS 开发,OS X 相对来说复杂一些,但是同时竞争也不如 iOS 上那样激烈。如果你已经精通于 iOS 开发,想要尝试一些其他东西的话,OS X 开发会是一个很好的方向。因为两种开发使用的语言是一样的,而两者所使用的框架在最近也有融合的趋势,因此对 iOS 开发者来说转换到 OS X 平台的时候也会非常简单。

开源项目

  1. Swift :本周最大的新闻就是 Swift 开源了,这里是 Swift 的开源主仓库。可以看到 Swift 项目的第一行代码是在 2010 年提交的。对于语言设计者和编译器的开发者来说,Swift 会是非常好的学习材料。对于 Swift 的一般的使用者和应用开发者来说,语言开源本身意味着之后这门语言的发展将由开发者们一同决定。而在今后的应用开发中,相比起编译器,我们更有可能接触到的是 Swift Package Manager 这个包管理系统。
  2. Crayons :在应用开发中如果使用 Interface Builder 来构建界面的话,经常会需要为 view 指定颜色。Crayons 是一个帮助我们记录在 IB 中使用过的颜色的插件。你可以为项目添加定义颜色列表,然后在颜色选择界面中直接选择颜色,而不用再进行颜色输入。通过更改列表中的定义,还可以直接将 IB 中的颜色都进行更改,非常方便,这可以大大加快应用的界面开发的速度。
  3. Swiftline :随着 Swift 开源,相信会涌现出不少跨平台的命令行工具,而 Swiftline 就是一个帮助我们开发命令行工具的项目。它提供一系列工具链,可以让我们很轻易地处理命令行输入的参数,构建问答式的命令行交互,以及在命令行中输出彩色的字符串等等。如果你要用 Swift 构建命令行工具的话,这个项目会为你的项目提供很好的起点。
  4. Chatto :Chatto 是一个 Swift 的聊天框架,可以很容易地实现类似信息 app 那样的聊天界面,包括图片发送,内容分页,可交互的键盘等等,是一个实现非常完整的解决方案。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-12-08 18:005863
用户头像

发布了 59 篇内容, 共 23.2 次阅读, 收获喜欢 4 次。

关注

评论

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

[架构师训练营第1期]第二周命题作业

猫切切切切切

极客大学架构师训练营

高并发下如何缩短响应时间

架构师修行之路

微服务 高并发优化

架构师训练营 Week2 作业

lggl

极客大学架构师训练营 作业

八、给小白看的第一篇Python基础教程

刘润森

Python

字符串操作的全面总结

C语言与CPP编程

编程语言 C语言 编译器、程序语言、CPU 字符串

架构师训练营 1 期 -- 第二周作业

曾彪彪

极客大学架构师训练营

前言、Python是真的火,还是炒得火?来看看它的前世和发展

刘润森

Python

四、学编程语言前,不了解Git,怎么入坑

刘润森

Python

五种简单高效的拆分用户故事的方法

Bruce Talk

敏捷 Agile 用户故事 User Story Product Owner

第二周学习总结

龙卷风

极客大学架构师训练营

架构师训练营第二周命题作业

成长者

极客大学架构师训练营

学生成绩管理系统案例

C语言与CPP编程

编程语言 C语言 编译器、程序语言、CPU

架构师训练营 1 期 -- 第二周

小河

极客大学架构师训练营

三、新手Jupyter不会用,我十招教你盘她

刘润森

Python

五、开始Github和码云之旅,新手如何上路

刘润森

Python

六、乘胜追击,将剩下的Git知识点搞定

刘润森

七、连Pycharm都不知道怎么用,学什么Python

刘润森

Python

做好分库分表其实很难之一

架构师修行之路

微服务 分库分表

第二课框架设计课后作业

Geek_michael

数字与能源,交织成新基建的摩比斯环

脑极体

二、搭建Jupyter Notebook环境

刘润森

Python

C语言C++中assert的用法

C语言与CPP编程

程序员 编程语言 C语言

「架构师训练营第1期」第二周作业

张国荣

极客大学架构师训练营

十、给小白看的第三篇Python基础教程

刘润森

Python

架构师训练营第一期 - week2 - 命题作业

谭明华

极客大学架构师训练营

架构训练营 -week2- 学习总结

于成龙

面向对象 架构训练营

代码防御性编程的十条技巧

C语言与CPP编程

程序员 编程语言 C语言 编译器、程序语言、CPU

九种查找算法

C语言与CPP编程

面试 算法 编程语言 C语言 编译器、程序语言、CPU

架构1期第二周作业

FG佳

架构师训练营第 1 期 - 第二周 - 作业提交

Todd-Lee

架构师 极客大学架构师训练营

一、搭建Python环境和安装Pycharm

刘润森

Python

iOS开发周报:Swift 开源,新的包管理和 Swift 3.0 前瞻_移动_王巍_InfoQ精选文章