写点什么

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:005508
用户头像

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

关注

评论

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

Meterial Design常见控件的使用(八),【面试总结】

android 程序员 移动开发

OkHttp 的 IO 操作和进度监听,android应用开发实训总结

android 程序员 移动开发

OOM问题原理解析(二),android开发教程pdf

android 程序员 移动开发

RecyclerView 是 “何方神圣“,农民工看完都学会了

android 程序员 移动开发

Kotlin(五)深入理解Kotlin类与接口,androidndk开发视频

android 程序员 移动开发

Linux编程之权限系统与工具使用(二),【大牛系列教学】

android 程序员 移动开发

Go语言HTTPServer开发的六种实现

FunTester

HTTP Fasthttp Server Go 语言 FunTester

Meterial Design常见控件的使用(一),安卓面试题2018中高级

android 程序员 移动开发

ObjectBox 集成指南,建议细读

android 程序员 移动开发

offer求比较+部分大厂Android面经+真题解析,给2021的Android一些建议

android 程序员 移动开发

OkHttp踩坑记:为何 response,androidui设计

android 程序员 移动开发

超牛无损图片放大神器PhotoZoom,你值得拥有!

淋雨

PhotoZoom

lambda表达式(3)-shawn,挑战大厂重燃激情

android 程序员 移动开发

万人逐鹿、十强争霸!华为云GaussDB数据库两大重量级赛事圆满落幕

华为云数据库小助手

GaussDB 大赛 华为云数据库

MaterialDesign系列文章(十一)Google2018年大会新出的控件汇总集合

android 程序员 移动开发

RxJava-2-0还没熟悉,RxJava-3-0说来就来了!,安卓开发工具

android 程序员 移动开发

LeakCanary源码分析以及ContentProvider的优化方案,android移动开发

android 程序员 移动开发

Meterial Design常见控件的使用(五),移动端h5开发框架

android 程序员 移动开发

MVVM系列之三:ViewModel,最新Android开发进阶

android 程序员 移动开发

Native开发工具之应用开发编辑器&打包发布(一),kotlin构造器

android 程序员 移动开发

RxJava 沉思录(三),微信小程序的事件处理

android 程序员 移动开发

合同管理系统主要增加了安全性,对于大型企业作用重大

低代码小观

企业管理 管理系统 管理工具 合同管理系统 企业合同管理

LeakCanary源码学习二:LeakCanary,sw实战营文件下载

android 程序员 移动开发

Probe:Android线上OOM问题定位组件,移动互联网app检测取证系统

android 程序员 移动开发

RecyclerView-的复用机制,Android开发面试技能介绍

android 程序员 移动开发

offer求比较+部分大厂Android面经+真题解析(1),覆盖所有面试知识点

android 程序员 移动开发

《个人信息保护法》正式实施,企业如何保证数据安全合规?

腾讯安全云鼎实验室

数据安全

Okio—— 更加高效易用的IO库,一线互联网架构师Android框架体系架构

android 程序员 移动开发

livedatabus详解,阿里是如何用他来做淘宝架构的?,android开发视频百度云

android 程序员 移动开发

MVPArms官方快速组件化方案开源,来自5K star的信赖,安卓性能优化和内存优化

android 程序员 移动开发

Native开发工具之交叉编译移植(五),android开发基础教程视频

android 程序员 移动开发

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