写点什么

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

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

关注

评论

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

ebook下载 | 《企业高管IT战略指南——搭建微服务架构》

York

微服务 云原生 系统架构 数字化转型 应用现代化

Baklib|提升团队效率,在线协同文档好在哪?

Baklib

团队效率 在线协同文档

借助 TCP 负载均衡和 Galera 集群扩展 MySQL

NGINX开源社区

MySQL nginx 负载均衡 TCP/IP

Mybatis

喜羊羊

mybaits 9月月更

大众CEO迪斯提前卸任,成败皆因软件

雨果

软件定义汽车

Karmada v1.3:更优雅 更精准 更高效

华为云开发者联盟

容器 云原生 后端 华为云 企业号九月金秋榜

技术解读:Dragonfly 基于 P2P 的智能镜像加速系统 | 龙蜥技术

OpenAnolis小助手

开源 dragonfly p2p 龙蜥技术 镜像加速

Spring知识点讲解

喜羊羊

后端 9月月更

手把手教你君正X2000开发板的OpenHarmony环境搭建

华为云开发者联盟

鸿蒙 后端 IoT 企业号九月金秋榜

【中秋福利】大数据告诉你:今年中秋礼品这样选

前嗅大数据

大数据 数据分析 数据采集 中秋 互联网+

遥居前列!华为云GaussDB再获行业权威验证

华为云开发者联盟

数据库 后端 华为云 企业号九月金秋榜

超酷炫!天翼云亮相中国服贸会

天翼云开发者社区

Baklib|提高企业知识管理水平的方法分享

Baklib

知识管理

云图说丨初识分布式消息服务Kafka版

华为云开发者联盟

云计算 企业号九月金秋榜

Baklib|在线帮助中心对企业来说有多重要?

Baklib

企业 在线帮助中心

javaweb

喜羊羊

javaWeb 9月月更

设计模式的艺术 第六章抽象工厂设计模式练习(开发一款新的手机游戏软件,该软件能够支持IOS和Android等多个智能手机操作系统平台。针对不同手机操作系统,该游戏软件提供了不同的游戏操作控制类和游戏界面控制类,并提供相应的工厂类来封装这些类的初始化过程)

代廉洁

设计模式的艺术

嗖的一下就码出一个CLI

蛋先生DX

typescript 前端 命令行 cli 代码生成

第二届SmartNIC&DPU技术创新峰会即将开幕,速来围观

天翼云开发者社区

iOS端如何实现微信分享链接与登陆

MobTech袤博科技

微信 iOS SDK

Dubbo Mesh - 从服务框架到统一服务控制平台

阿里巴巴云原生

阿里云 开源 微服务 云原生 dubbo

保利威重磅开启「828 B2B企业节 · 专场峰会 」!

科技怪咖

Java基础——编码命名规范

守夜人st

java; 编程语言‘ 9月月更

干货!天翼云DPU技术解码

天翼云开发者社区

什么是数据湖?全面解读数据湖与数据仓库的区别

雨果

数据中台 数据仓库 数据湖 DaaS数据即服务

天翼云加码边缘计算,让普惠算力触手可及!

天翼云开发者社区

Android技术分享| 视频通话开发流程(二)

anyRTC开发者

android 音视频 移动开发 实时消息 呼叫邀请

科技创新突破算力瓶颈,云网融合引领数字未来!

天翼云开发者社区

中国IPv6“高速公路”,全面建成 IANA被管理权限移交 ,IP地址管理何去何从

郑州埃文科技

ipv6 ipv4 IANA

关于Java 同步工具和组合类的线程安全性分析

Java快了!

java;

BI 报表正逐渐成为技术债,真的吗?

Kyligence

数据分析 指标管理 BI 报表

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