首页 > 娱乐前沿 > 热点
Swift开源那点事
佚名 2015-12-08 09:00:17

  最近各大网站上最喜大普奔的新闻莫过于 Swift 正式开源这条了。这无疑是一个里程碑式的前进,苹果也向开源社区更加进了一步。那么 Swift 开源后有什么具体的改变呢,我们一一道来。

 成立开源社区 swift.org

  Swift 将开源社区功能都放在了 swift.org 这个网站上,提供了诸如 bug 报告系统,邮件列表,社区文档,以及社区贡献指引这些开源项目应具备的特性。

  打开 swift.org 可以看到全新的开源社区主页:

 Swift 现在支持 Linux 了

  开源的 Swift,可以移植到任何一个平台,从此它不再是仅仅局限于 iOS 和 Mac 平台的开发语言了。swift.org 网站上列出了支持 Linux 平台的 Swift 开发包:

  除了预告地址,网站上还提供了在各个平台上的环境配置指引。在 Mac 平台上,我们不仅可以使用 XCode 自带的 Swift 版本,也可以安装最新的开发版 Swift(不过 swift.org 社区网站上还说明了一点,如果是提交到 App Store 的应用,则必须使用 XCode 默认的 Swift 版本进行编译,这点需要大家注意)。

 Github 上面的开放源代码

  Swift 将所有开放的源代码托管到 Github 上面。它的 Github 主页 https://github.com/apple/swift。

  进入主页,Swift 的所有源代码都可以供我们使用了。并且它的社区极其活跃,下面是我写这篇文章时候对 Swift 在 Github 上项目的提交记录的截图,可以看到,几个小时之内就有好多有效提交:

 Swift 包管理工具

  随着 Swift 的开源,社区为 Swift 推出了全新的包管理工具。Swift 包管理的规则是通过建立一个叫做 Package.swift 的文件实现的。这个文件中定义了当前项目的依赖包等等。

  Swift 开源社区通过一个示例项目演示了包管理的使用方法, 我们在命令行输入如下命令,即可使用这个示例项目,并通过包管理处理依赖包的获取:

git clone https://github.com/apple/example-package-dealer.git
cd example-package-dealer
swift build
.build/debug/Dealer

  首先,我们通过 git clone 将示例项目复制到本地,然后进入项目所在目录,使用 swift build 命令构建项目,这时就会根据该项目的 Package.swift 文件,获取相应的依赖包。

  我们再来看一下这个项目中的 Package.swift 文件:

import PackageDescription
let package = Package(
    name: "Dealer",
    dependencies: [
        .Package(url: "https://github.com/apple/example-package-deckofplayingcards.git", majorVersion: 1),
    ]
)

  我们看到,这个示例项目还依赖于另外一个项目 https://github.com/apple/example-package-deckofplayingcards.git。 当我们使用 swift build 进行构建的时候,包管理会帮助我们把相关的依赖项目也拉取下来,并进行构建。

  我们之前也介绍过 iOS 平台开发时用到的包管理工具,如果你对包管理的了解还不是很多,也可以参看这两篇文章:

  Carthage 包管理工具,另一种敏捷轻快的 iOS & MAC 开发体验   Swift Tips – 当 Swift 遇上 CocoaPods

  因为开源的 Swift 是跨平台的,Swift 包管理的应用范围在今后会更加广泛。

 Swift 核心库

  Swift 在今后会提供一套核心库,这个库不依赖于任何具体的平台,针对编程中得基础操作,比如通用的字符处理,网络请求处理,多线程操作这些,都会通过核心库的方式来实现。

  社区网站上说的是,重新构建这样一个库是一个十分庞大的工程,所以决定基于现有的库的基础上进行构建,比如 在 iOS 的 Foundation 库的基础上构建核心库。但这个核心库虽然和苹果平台的接口很多类似,但他底层是依赖于 Objective-C 运行时的,所以它是一套独立的库。

  目前,这样核心库的开发工作还在规划当中,估计要的 Swift 3.x 版本才能发布出来。

 Mailing List

  最后嘛,Swift 社区提供了邮件列表订阅,开源社区的各种交流沟通,都可以在这个邮件列表中进行,只需要将你的邮箱地址提交到表单中,即可开始订阅邮件列表内容了。

 结语

  好啦,Swift 开源相关的主要内容跟大家分享的也差不多了。总的来说呢,对于 iOS 或者 Mac 平台上 APP 的开发,这些变化的影响可能不那么明显。我们开发 APP 的时候还是使用 XCode,还是提交到 AppStore,并且 Swift 版本也被限制在 XCode 自带的范围内。

  但是从更远的角度来看,开源对 Swift 来说是一件非常好的事情。今后的 Swift 会借助社区的力量更加壮大。也许在不久的将来 Swift 不仅能在 iOS 和 Mac 平台上大展身手,可能也会成为一个服务端开发的利器。

  就好像 Swift 原来只是苹果公司在开发维护。而现在,全世界的开发者和团队都可以为 Swift 的发展做出贡献,甚至去决定 Swift 今后的方向。

上一篇  下一篇

I 相关 / Other

明年春安工作 警政署:破除数字迷思

警政署今天召开春安工作协调会,署长陈国恩强调,明年春安工作要破除数字迷思。(萧承训翻摄) 警政署今天

如果把游戏比作美女,国产的美女声线都不太好

说到我痛处了:作为在日本的游戏开发经验者想发表点感受不知道有多少人在国内游戏行业内接触过「音频组 (So

京东产品运营手记|成长就是和优秀的同事一起工作

一最近有很多朋友问我:刘玮冬,你总是在说做事要讲究章法,讲究规则,踏踏实实,那能不能举出一些具体的例

从菜鸟到总监!成为优秀设计师的10个必备技能

编者按:设计新手的总监修炼之路!朱宁同学将自己多年设计生涯中学到的经验都总结出来,列出10个最紧要的点

苹果Mac彻底删除文件技巧_Mac彻底安全删除回收站文件方法

  熟悉电脑运行机制的朋友都知道,我们在苹果Mac电脑上删除文件再清空垃圾篓以后,数据其实仍然保存在硬盘

I 热点 / Hot