运行在 Linux 平台的开源 Swift(2)

config.vm.provision "shell", inline: <<-SHELL ## shells SHELL

在一对 <<-SHELL 和 SHELL 中,就是我们要运行的配置脚本了,首先我们运行:

sudo apt-get --assume-yes install clang

这个命令,来安装 clang 编译器,这个是苹果公司提供的 C 编译器,是 Swift 必需的一个组件。

接下来通过 curl 命令来下载 Swift 包:

curl -O https://swift.org/builds/ubuntu1404/swift-2.2-SNAPSHOT-2015-12-01-b/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz

我们脚本中得 Swift 包下载地址来自 https://swift.org/download 这个页面,也可以根据你自己的需求配置需要下载的包。

接下来的 tar 命令,用于将下载完成的 Swift 包解压出来:

tar zxf swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04.tar.gz

最后,将 Swift 的 bin 目录写入环境变量,这样系统就可以找到我们要执行的命令了:

echo "export PATH=/home/vagrant/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04/usr/bin:\"${PATH}\"" >> .profile

安装配置完成后,我们输入如下命令进入 Ubuntu 的命令行:

vagrant ssh

进入命令行后,可以输入 swift --version 命令验证 Swift 是否安装成功。

如果安装成功,我们就可以收到类似这样的输出:

Swift version 2.2-dev (LLVM 46be9ff861, Clang 4deb154edc, Swift 778f82939c)

开始使用 Linux 平台上的 Swift

好了, Swift 安装成功了,我们可以开始创建我们的第一个程序了,按照惯例,自然是 Hello World 程序。

使用 vim helloworld.swift 命令创建一个源文件。

然后在 Vim 中输入 i 进入插入模式,在源文件中输入:

print("Hello, world")

代码写完啦,我们按下 Esc 进入操作模式,然后输入 :wq 保存退出。

源文件创建好之后,我们可以使用 swiftc 命令编译我们的代码。

swiftc helloworld.swift

编译好之后,我们使用 ls 命令查看一下当前目录的内容,除了 helloworld.swift 文件,编译器为我们生成了一个 helloworld 可执行文件。我们可以运行这个文件:

./helloworld Hello, world

运行成功了, 一个完整的程序,从代码到编译成功如此的简单,有没有很爽的感觉~,Swift 程序不需要导入很多基础的库,也不需要写任何的 main 函数,默认会将外层语句作为程序的入口,这些都融入了现代化的开发思维。

当然,Swift 能做的事情远远不止 Hello World 这么简单,Swift 开源的意义不只是能让我们在 Linux 开发和编译 Swift 程序,也不是能让我们看到 Swift 的源代码。开源的意义更多在于它提供的社区化功能,能让我们充分共享每个人的开发成果。就像是 NodeJS 社区一样,相信使用过 NodeJS 的开发者都会有这样���感觉 - 比如你的项目需要一个图片处理功能,去 NodeJS 的包管理社区 npmjs.com 上面找一下,马上就能找到相应的第三方库解决这个问题。而且这些第三方库几乎是和你的项目无缝集成的,这才是开源社区给予我们最大的力量。

使用 Swift 包管理

同样,开源的 Swift 也提供了包管理平台,相信今后无论你使用 Swift 开发一款 iOS APP, 甚至是一个 Linux 服务端程序,你都能够很快的在包管理平台上找到快速解决问题的第三方库。

下面我们就来看看如何使用 Swift 的包管理系统。Swift 开源社区在 Github 上提供了一个例子说明了这个问题,首先我们在 Ubuntu 上面安装 git 命令工具:

sudo apt-get --assume-yes install git

安装成功后,将 Swift 包管理的示例从 Github 上面复制出来:

git clone https://github.com/apple/example-package-dealer.git

复制成功后,我们用 ls 命令看到这个包里面有 4 个文件:

CONTRIBUTING.md Package.swift README.md main.swift

其中 main.swift 是程序的代码文件,而 Package.swift 就是包管理文件,我们来看一下 Package.swift 的内容:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15587.html