介绍
Swift是苹果的一种编程语言,它是快速、安全和现代的,它拥有庞大的社区,支持该语言。
Vapor是一个流行的服务器侧Swift网络框架,像Swift一样,Vapor是快速和现代的,它支持您在其他编程语言的Web框架中看到的许多功能。
在本指南中,你将安装Swift和Vapor在Ubuntu 16.04上,然后你将通过使用Vapor的模板创建一个简单的Web应用程序来测试你的设置。
前提条件
要遵循本教程,您将需要:
- 一个 Ubuntu 16.04 服务器与非 root 用户访问
sudo
. 您可以学习如何使用我们的 初始服务器设置指南来设置此功能。 - Git 安装在您的服务器上。
步骤 1 - 安装 Swift
要构建和运行 Vapor Web 应用程序,您需要先安装 Swift。
首先,确保您在系统上有最新包列表:
1sudo apt-get update
然后安装Swift的先决条件,其中包括clang
和一些Python 2.7组件:
1sudo apt-get install clang libicu-dev libpython2.7
之后,下载最新的 Swift 二进制版. 这不是通过apt
可用的,但你可以手动从 Swift 下载页面下载,或者用wget
下载:
1wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-4.0-RELEASE/swift-4.0-RELEASE-ubuntu16.04.tar.gz
接下来,请验证您的下载没有被破坏或篡改,将 Swift 的 PGP 密钥导入您的键盘,将用于验证签名文件:
1gpg --keyserver hkp://pool.sks-keyservers.net \
2 --recv-keys \
3 '7463 A81A 4B2E EA1B 551F FBCF D441 C977 412B 37AD' \
4 '1BE1 E29A 084C B305 F397 D62A 9F59 7F4D 21A5 6D5F' \
5 'A3BA FD35 56A5 9079 C068 94BD 63BC 1CFE 91D3 06C6' \
6 '5E4D F843 FB06 5D7F 7E24 FBA2 EF54 30F0 71E1 B235'
你会看到这个输出:
1[secondary_label Output[]
2...
3gpg: key 412B37AD: public key "Swift Automatic Signing Key #1 <[email protected]>" imported
4gpg: key 21A56D5F: public key "Swift 2.2 Release Signing Key <[email protected]>" imported
5gpg: key 91D306C6: public key "Swift 3.x Release Signing Key <[email protected]>" imported
6gpg: key 71E1B235: public key "Swift 4.x Release Signing Key <[email protected]>" imported
7gpg: no ultimately trusted keys found
8gpg: Total number processed: 4
9gpg: imported: 4 (RSA: 4)
导入密钥后,下载您下载的版本的签名文件:
1wget https://swift.org/builds/swift-4.0-release/ubuntu1604/swift-4.0-RELEASE/swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig
若要验证此签名文件,请运行下一个命令,该命令会生成以下输出:
1gpg --verify swift-4.0-RELEASE-ubuntu16.04.tar.gz.sig
你会看到这个输出:
1[secondary_label Output]
2gpg: assuming signed data in `swift-4.0-RELEASE-ubuntu16.04.tar.gz'
3gpg: Signature made Wed 20 Sep 2017 01:13:38 AM UTC using RSA key ID 71E1B235
4gpg: Good signature from "Swift 4.x Release Signing Key <[email protected]>"
5Primary key fingerprint: 5E4D F843 FB06 5D7F 7E24 FBA2 EF54 30F0 71E1 B235
您可能会看到一个警告,看起来如下:
1[secondary_label Output]
2gpg: WARNING: This key is not certified with a trusted signature!
3gpg: There is no indication that the signature belongs to the owner.
這意味著你輸入的Swift鍵尚未得到信任,要么是你明確地信任,要么是你在你的關鍵中安裝的其他鍵。你可以安全地忽略這些訊息。
现在,我们实际上可以安装Swift。执行以下命令来提取您之前下载的二进制:
1tar xzf swift-4.0-RELEASE-ubuntu16.04.tar.gz
然后将Swift工具链添加到你的路径中,这样你就可以在整个系统中运行swift
命令:
1export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"
输入此命令只会将swift
命令添加到当前 shell 会话的路径中. 若要确保在未来会话中自动添加,请将其添加到.bashrc 文件中。
打开.bashrc 文件:
1nano ~/.bashrc
添加下列行到文件的末尾
1[label ~/.bashrc]
2. . .
3export PATH=swift-4.0-RELEASE-ubuntu16.04/usr/bin:"${PATH}"
保存和退出文件。
要确保一切顺利,请运行快速
命令:
1swift
您将收到Swift REPL,表明一切正常工作。
1[secondary_label Output]
2Welcome to Swift version 4.0 (swift-4.0-RELEASE). Type :help for assistance.
3 1>
让我们检查两次,确保一切正常运行. 输入这个程序,将1和5之间的所有整数加在一起。 输入每个行到 REPL,按下每个行后的ENTER
键:
1var x = 0
2for i in 1...5 {
3 x += i
4}
5x
REPL将显示计算结果:
1[secondary_label Output]
2$R0: Int = 15
使用CTRL+D
退出 Swift REPL. 现在 Swift 已安装,我们已经准备好安装 Vapor。
步骤二:安装蒸汽
要安装 Vapor,您将下载并执行 Vapor 开发人员的脚本,将 Vapor 的官方包存添加到您的服务器的包列表中,然后您将使用apt
来安装最新版本的 Vapor。
一般來說,執行你從其他人下載的脚本而不先檢查它們並不是一個很好的安全做法. 首先,使用「curl」命令將安裝脚本下載到您的伺服器,並使用「-o」交换器指定本地檔案名稱:
1curl -sL apt.vapor.sh -o apt.vapor.sh
使用少
命令检查此脚本:
1less apt.vapor.sh
检查安装脚本的内容后,执行脚本以添加存储库:
1bash ./apt.vapor.sh
您将被要求输入您的 sudo 密码,以便脚本可以添加新的包源。
一旦脚本完成,您可以安装蒸汽
包及其依赖。
1sudo apt-get install vapor
您可以通过使用 Vapor 开发人员提供的另一个脚本来验证 Vapor 是否已成功安装。
1curl -sL check.vapor.sh -o check.vapor.sh
2less check.vapor.sh
3bash ./check.vapor.sh
您将看到此输出,表明 Vapor 已成功安装:
1[secondary_label Output]
2✅ Compatible with Vapor 2
现在Swift和Vapor都已安装,您可以创建您的第一个Vapor应用程序。
步骤 3 – 创建一个 Vapor 应用程序
为了创建我们的应用程序,我们将使用Vapor默认提供的模板,该Web
模板允许您创建面向用户的Web应用程序。
<$>[注] 此模板假定您正在使用Git,并且您已将其配置为您的姓名和电子邮件地址。
1git config --global user.email "[email protected]"
2git config --global user.name "Your Name"
美元
若要从此模板创建 Web 应用,请执行以下命令:
1vapor new demo --template=web
脚本会在新目录中生成一个新的应用程序,其中包含您指定的名称:
1[secondary_label Output]
2Cloning Template [Done]
3Updating Package Name [Done]
4Initializing git repository [Done]
5...
6 _ __ ___ ___ ___
7 \ \ / / /\ | |_) / / \ | |_)
8 \_\/ /_/--\ |_| \_\_/ |_| \
9 a web framework for Swift
10
11 Project "demo" has been created.
12 Type `cd demo` to enter the project directory.
13 Use `vapor cloud deploy` to host your project for free!
14 Enjoy!
如果您想创建一个API而不是一个完整的Web应用程序,您可以使用api
模板vapor new demo – template=api
。
看看Web 模板的源代码和api 模板是如何工作的。
让我们运行我们的应用程序,并在行动中看到它。
步骤 4 – 编译和运行 Vapor 应用程序
与Python或Ruby中的应用程序不同,Swift应用程序必须被编译,这意味着在您可以运行Vapor应用程序之前,您必须运行构建过程。
首先,切换到新创建的Demo
文件夹:
1cd demo
然后执行蒸汽构建
命令来编译 Web 应用程序。
1vapor build
第一次构建应用程序时,这个过程会产生一些依赖性,它会缓存这些并在未来跳过这个步骤,这将使构建过程更快。
一旦构建过程完成,请使用以下命令运行应用程序:
1vapor run serve
服务器将启动,显示此输出:
1[secondary_label Output]
2Running demo ...
3...
4Starting server on 0.0.0.0:8080
您将看到关于不安全的哈希和加密密钥的警告,但您可以在测试演示文稿时忽略它们。
打开您的网页浏览器,访问http://your_server_ip:8080
,查看您工作的Vapor应用程序的欢迎页面。
结论
虽然Swift主要用于构建原生iOS和macOS应用程序,但Swift在Linux平台上正在崛起,您可以通过阅读Apple的免费电子书《Swift编程语言》(https://itunes.apple.com/us/book/the-swift-programming-language-swift-4/id881256329?mt=11)来了解更多关于Swift的信息。