IBM开源swift语言Web服务教程(译文)

KITURA

A Swift Web Framework and HTTP Server

Build Status - Master macOS Linux Apache 2 codecov codebeat badge
  Slack Status

概要

Kitura 是为了使用 Swift语言创建 Web 服务的一个web框架和web服务器.

特点:

  • URL 路由 (GET, POST, PUT, DELETE)
  • URL 参数
  • 静态文件服务
  • JSON 解析
  • 可插入的中间件

    Swift 版本

Kitura 运行需要的最新Swift二进制文件版本是DEVELOPMENT-SNAPSHOT-2016-03-01-a.你可以通过这个链接下载.

安装 (Docker 开发环境)

  1. 在你的开发系统上安装Docker,并启动一个 Docker session/terminal.
  2. 在Docker session中,将kitura-ubuntu从 Docker Hub中down下来:
1
docker pull ibmcom/kitura-ubuntu:latest
  1. 使用你刚下载的kitura-ubuntu 创建一个Docker 容器:
1
docker run -i -t ibmcom/kitura-ubuntu:latest /bin/bash
  1. 在Docker容器里面,执行script脚本clone_build_test_kitura.sh,从而创建Kitura;执行测试案例:
1
/root/clone_build_test_kitura.sh

执行clone_build_test_kitura.sh后,最下面的一行应该类似于:

1
>> Finished execution of tests for Kitura (see above for results).
  1. 现在你可以在Docker容器中执行KituraSample了:
1
/root/start_kitura_sample.sh

你会看到一条信息:Listening on port 8090.

安装 (Vagrant的开发环境)

  1. 安装VirtualBox
  2. 安装Vagrant.
  3. 在包含vagrantfile的Kitura的根目录下,创建并配置一个访客机器:
1
vagrant up
  • SSH 到Vagrant机器:
    vagrant ssh
    
  • 在 Vagrant shell中, 运行一个简单的程序:Kitura/.build/debug/KituraSample.你会看到一条信息: Listening on port 8090
  • 由于开发的需要, 编辑 vagrantfile 来启动 Synced Folders 在你的主机和客户之间共享文件的机器.

安装 (OS X)

  1. 安装Homebrew (if you don’t already have it installed):

    1
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装必要的依赖关系:

    1
    brew install http-parser curl hiredis
  3. 下载并安装 supported Swift compiler.
    安装完成以后,要确认安装说明中所描述的PATH环境变量 (e.g. export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:$PATH)

    1. Clone这个仓库的 develop 分支

      1
      git clone -b develop https://github.com/IBM-Swift/Kitura
    2. 构建和运行Kitura示例

      1
      make run

      您会看到一条消息 Listening on port 8090

      注意

    • Homebrew 类库的默认安装路径是 /usr/local, 如果你的不一样, 更改查找 urlhttp-parser 库的路径 在 Kitura-CI/build/Makefile 中:

      1
      2
      SWIFTC_FLAGS =  -Xswiftc -I/usr/local/include
      LINKER_FLAGS = -Xlinker -L/usr/local/lib
    • 运行结果被记录在 在 ./.build/debug/KituraSample的克隆文件夹中的 .build/debug

项目地址:

Kitura https://github.com/IBM-Swift/Kitura