Swift 开源了,它现在变成跨平台的了,开源后的 Swift 不止能运行在 MAC 和 iOS 平台,现在也可以运行在 Linux 平台了。swift.org 网站上面提供了在 Linux 上面安装 Swift 环境的完整指引。当前 Swift 支持 Ubuntu 15.10 和 Ubuntu 14.04 两个版本。

这里我使用Ubuntu 14.04,带领大家体验Linux 平台上的 Swift使用,感兴趣的同学感觉看过来;如果确实帮助到了你,记得投票点赞,让更多的的人看到,非常感谢;

 
 

工具/原料

 
  • Ubuntu 14.04
  • Swift 

Ubuntu 14.04安装Swift

 
  1. 1

    安装 clang 编译器

    clang 编译器是苹果公司提供的 C 编译器,是 Swift 必需的一个组件。在终端运行下面命令执行安装:

    sudo apt-get --assume-yes install clang

  2. 2

    获取Swift 包

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

    通过 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

  3. 3

    安装Swift

    1、使用 tar 命令,解压下载完成的 Swift 包:

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

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

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

    命令行执行使脚本生效:

    source  /home/vagrant/.profile

    3、命令行,输入 swift --version 命令验证 Swift 是否安装成功。

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

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

    END

使用Ubuntu14.04上的 Swift

 
  1. 1

    创建一个源文件

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

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

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

    print("Hello, world")

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

  2. 2

    编译运行

    源文件创建好之后,使用 swiftc 命令编译代码。

    swiftc hello.swift

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

    ./helloHello

    运行成功了

    也可以直接使用swift 命令执行源码文件

    swift hello.swift

    Swift 程序不需要导入很多基础的库,也不需要写任何的 main 函数,默认会将外层语句作为程序的入口,这些都融入了现代化的开发思维。

    END

使用 Swift 包管理

 
  1. 1

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

    Swift 开源社区在 Github 上提供了一个例子说明了这个问题,首先我们在 Ubuntu 上面安装 git 命令工具:

    sudo apt-get --assume-yes install git

  2. 2

    将 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 的内容

    这里面定义了我们这个包的名称: name: "Dealer", 然后还定义了它的依赖关系, 它依赖于另外一个代码库;

  3. 3

    抓取下来的依赖项目

    通过 Package.swift 的定义,swift build 命令就可以根据相应的依赖关系,自动为我们的项目抓取那些需要的第三方库。

    运行 swift build 命令安装依赖,可以看到swift build 在替我们把各种项目的依赖关系处理了一遍;

    从输出可以看到,我们复制出来的这个项目的依赖项目,又依赖了其他的项目,形成了一个依赖链条。

    当 swift build 命令运行完成自后,我们会发现项目的根目录中多了一个 Packages 目录,这个目录里面存放了我们抓取下来的依赖项目:

     

Swift 开源 Linux Ubuntu Install的更多相关文章

  1. Linux(Ubuntu)安装Swift和Swiftlint

    很多时候iOS开发完毕需要接入CI中,而很多CI是基于Linux的,需要在Linux平台安装Swift和Swiftlint,下面就是针对这两个软件的安装步骤. Swift安装 环境 系统:Ubuntu ...

  2. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  3. Install .NET Core Runtime on Linux Ubuntu 16.04 x64

    原文链接https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-current nstall ...

  4. Arch Linux 安装博通 BCM4360 驱动(Arch Linux, Ubuntu, Debian, Fedora...)

    BCM4360 在2010年9月,博通完全开源的硬件驱动[1].该驱动程序 brcm80211已被列入到自2.6.37之后的内核中.随着2.6.39发布,这些驱动程序已被重新命名为 brcmsmac和 ...

  5. Linux(Ubuntu)下MySQL的安装与配置

    转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...

  6. swift开源项目精选

    Swift 开源项目精选-v1.0 2016-03-07 22:11 542人阅读 评论(0) 收藏 举报  分类: iOS(55)   Swift(4)    目录(?)[+]   转自 http: ...

  7. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  8. windows远程连接Linux(Ubuntu)的方法

    需要做的工作: 1.在Linux(Ubuntu)端安装.设置好SSH 2.下载putty,并通过putty的SSH连接登录Linux 一 .如何在Linux(Ubuntu)端安装.设置好SSH,获取I ...

  9. remote desktop connect btw Mac, Windows, Linux(Ubuntu) Mac,Windows,Linux之间的远程桌面连接

    目录 I. 预备 II. Mac连接Windows III. Windows连接Mac IV. Windows连接Ubuntu V. Mac连接Ubuntu VI. Ubuntu连接Mac VII, ...

随机推荐

  1. OC语言基础之NSDictionary

    1.NSDictionary字典的创建 1: // key value 2: // key -==> value 3: NSDictionary *dict = [NSDictionary di ...

  2. 【开源类库学习】MBProgressHUD(提示框)

    新博客: http://www.liuchendi.com MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgre ...

  3. C#之Hello World(入门 )

    C#是一种简单.现代.面向对象和类型安全的编程语言. C#由C和C++发展而来.C#(英文发音C sharp)牢固地植根于C和C++语言族谱中,是Microsoft专门为使用.NET平台而创建的. • ...

  4. https://v2ex.com/t/170386

    https://v2ex.com/t/170386 https://cnodejs.org/topic/5566952ad4ca459f5267ac59 https://segmentfault.co ...

  5. Spark1.0.0 编程模型

    Spark Application能够在集群中并行执行,其关键是抽象出RDD的概念(详见RDD 细解),也使得Spark Application的开发变得简单明了.下图浓缩了Spark的编程模型. w ...

  6. docker集群——介绍Mesos+Zookeeper+Marathon的Docker管理平台

    容器为用户打开了一扇通往新世界的大门,真正进入这个容器的世界后,却发现新的生态系统如此庞大.在生产使用中,不论个人还是企业,都会提出更复杂的需求.这时,我们需要众多跨主机的容器协同工作,需要支持各种类 ...

  7. Centos系统信息及日志

    1.确认内核版本: #uname -r #uname -a 2.确认发行版本: #cat /etc/redhat-release 3.查看系统载入的模块: #lsmod | grep XXX 载入一个 ...

  8. puppeteer 相关知识

    page.waitForNavigation: 但我们通过代码执行到页面跳转时,我们需要等待跳转完成再作其他事情.使用page.waitForNavigation会等待跳转完成.(一般作用在点击链接或 ...

  9. IOS 应用程序路径

    -- 获取资源文件目录 .app/下的图片,音频等资源文件 print("bundlePath" + NSBundle.mainBundle().bundlePath) //以下是 ...

  10. unsupported major.minor version 解决方法

        转载自http://hi.baidu.com/fatchong/blog/item/191da23b478bbfef15cecbae.html         一直以来都是用jdk1.5,这次 ...