基于Swift的Web框架Vapor2.0文档(翻译)Manual

Posted by 范东 on August 6, 2017

前言

之前一直有做Java后台开发的兴趣,可是想到要看好多的Java教程,作为一个iOS开发者,我放弃了, 后来从朋友韩云智VL那里知道了这个框架,竟是用Swift写的,不得不说,它燃起了我的兴趣。 Vapor是一个基于Swift开发的服务端框架,可以工作于iOS,Mac OS,Ubuntu。 为了配合Swift部署到服务器,我把ECS的服务器系统改为Ubuntu16.04。

Vapor 2.0 - 文档目录 以下文字翻译自Vapor Docs/Getting started/manual

手动快速开始

学习不用工具箱只用Swift3.1和Swift包管理器(SPM)创建一个Vapor工程 这篇文档需要你已经安装了Swift3.1,如果没有,在继续之前请移步Swift.org

提示 如果你愿意使用工具箱,请移步工具箱指引

用Swift包管理器创建新工程

打开你的终端

笔记 举例使用,我们将会使用桌面作为根目录

cd ~/Desktop
mkdir Hello
cd Hello
swift package init --type executable

你的目录结构应该看起来是这样的

├── Package.swift
├── Sources
│   └── main.swift
└── Tests

编辑Package.swift

打开你的Package.swift

open Package.swift

并且添加Vapor作为依赖,这里展示的是你Package.swift应该的样子

//swift-tools-version:3.1
import PackageDescription
let package = Package(
	name:"Hello"
	dependencies:[
		.Package(url:"https://github.com/vapor/vapor.git",majorVersion:2)
	]
)

警告 我们尽量保持这个文档的持续更新,然而,你也可以在这里查看到最新的发布版本

编辑main.swift

一个简单的hello world:

import Vapor
let drop = try Droplet()
drop.get("hello"{ req in
	return "Hello Vapor"
})
try drop.run()

编译和运行(开发环境)

第一次build命令会花费较长的时间来获取依赖库

swift build
.build/debug/Hello serve

警告 如果名字不同,在以上所有的文件中替换Hello(与Package.swift中定义的一样)

生产环境

在Swift的发布模式下编译和运行将会使你的app更安全和提供更好的体验

swift build --configuration release
.build/release/Hello serve --env=production

查看

打开你最喜欢的浏览器并且访问http://localhost:8080/hello