Swift服务端开发系列:(一)Mac上用Vapor搭建Swift服务端开发环境

Swift服务端开发系列完整版

Swift服务端开发系列:(一)Mac上用Vapor搭建Swift服务端开发环境_第1张图片
swift服务端开发系列

序言

互联网的大潮正在持续,app前端开发正在走向平稳甚至收缩期。swift的推出给苹果公司又添加了一个护城河,随着swift的开源、跨平台、后端服务器支持等,也给广大开发者稍多的职业选择。虽然swift开发在iPhone、iPad、Mac、iWatch等官方设备上迅速普及,swift在服务端的应用也在迅速发展,能支持小级别项目,但服务端、跨平台的商业化应用还在萌芽阶段,现在也不失为一个学习的好时机。

作为 “吃青春饭” 的程序员,不要局限于自己熟悉的业务,不要局限于自己的编程语言,更不要局限了自己的人生维度。知识是无限的,用的确是相对有限的,基础资料是相对固定的,思维是相对流动的。最近有点想法,写个程序实现下,需要稳定的持续运行在服务器上。考虑过Swift、Python、Java、PHP、Go、JS等语言,对这些语言都不太熟悉,经过调研和平稳过度的需要锁定在Swift和Python二选一,最终选用Swift。

经过一个月的折腾,终于将自己项目(基础版)托管在Coding平台和稳定运行在腾讯云上。Swift服务端开发实践,自己从未涉足的领域,踩过了不少坑,也走了不少弯路,将简要的过程记录下,为以后的服务扩张做个铺垫,还有很多未完成的部分,后续会根据需要逐步开发和分享。

一、Swift服务端框架选择—Vapor

工欲善其事必先利其器,又到了谈到开发,必选框架的阶段。swift服务端框架主要有Vapor、Perfect、Kitura(IBM出品)、Zewo等,尝试过Perfect和Vapor,看过Kitura文档了解不深,对Zewo不了解。

Perfect: 初次按照网上教程配置,最终未能有效的运行起来,语法与Swift相差较多,或许自己当时知识不到位。Perfect框架功能确实强大,在初期是Swift服务端框架一哥的地位,最近听说Perfect团队出了问题,看到其Github库快一年未有效更新了,我放弃Perfect。

Vapor: 环境搭建非常简单,完全基于Swift开发,无特殊的依赖库,API和源码更易上手,提供的功能也非常丰富,比较适合初学者以及 Swift 纯粹主义者,也是目前Github上所有Swift服务端框架中star是最多项目,开发社区也是最大最活跃的。

[Swift服务端框架功能对比(节选)](https://blog.csdn.net/byeweiyang/article/details/80128908
https://docs.vapor.codes/3.0/)

二、在Mac上安装Swift

Mac开发Swift服务端,强烈推荐官方IDE工具Xcode,可以在App Store中下载安装, 最新版Xcode(大于11.3版本)自带最新版的Swift(5.1.3版本)。

打开终端,输入指令,查看已安装Swift版本号

swift -version

版本相关信息

Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
Target: x86_64-apple-darwin19.0.0

终端输入

swift

打开Swift程序,来上一段牛哄哄的算法

var a = 2, b = 3, c = a + b
Swift服务端开发系列:(一)Mac上用Vapor搭建Swift服务端开发环境_第2张图片
一段牛哄哄的算法

输入:exit退出swift程序

三、在Mac上安装Vapor

Vapor 3.0 官方开发文档

在终端中输入 brew 安装指令,国内网络相对较慢,请耐心等待

brew install vapor/tap/vapor

安装完成后,查看Vapor版本号

user@bogon ~ % vapor --version
Vapor Toolbox: 3.1.10

输入指令

vapor --help

查看vapor支持的操作指令如下

$vapor --help
Usage: vapor command

Join our Slack if you have questions, need help,
or want to contribute: http://vapor.team

Commands:
       new Creates a new Vapor application from a template.
           Use --template=repo/template for github templates
           Use --template=full-url-here.git for non github templates
           Use --web to create a new web app
           Use --auth to create a new authenticated API app
           Use --api (default) to create a new API
     build Compiles the application.
       run Runs the compiled application.
     fetch Fetches the application's dependencies.
    update Updates your dependencies.
     clean Cleans temporary files--usually fixes
           a plethora of bizarre build errors.
      test Runs the application's tests.
     xcode Generates an Xcode project for development.
           Additionally links commonly used libraries.
   version Displays Vapor CLI version
     cloud Commands for interacting with Vapor Cloud.
    heroku Commands to help deploy to Heroku.
  provider Commands to help manage providers.

Use `vapor command --help` for more information on a command.

四、用Vapor创建Swift服务端

vapor目前还没有UI操作面板,指令使用也相对简单。让我们来体验一番吧

pwd 确认项目存放的目录,在当前目录下新建项目Hello

vapor new Hello

初次创建,需要下载工具库,后续会很快,国内网络相对较慢,请耐心等待。创建完成后,终端会打印一个红桃形状的log

Swift服务端开发系列:(一)Mac上用Vapor搭建Swift服务端开发环境_第3张图片
image.png

进入项目目录中

cd Hello

输入指令,生成Xcode关联文件,初次构建需要下载Vapor关联库,耗时较长,耐心等待

vapor xcode

打开Xcode,运行

Generating Xcode Project [Done]
Select the `Run` scheme to run.
Open Xcode project?
y/n> y
Opening Xcode project...

在Xcode中使用My Mac运行Run 会看到控制台输出:

Server starting on http://localhost:8080

在浏览器中输入

http://localhost:8080/hello

看到 Hello, world! 说明服务端成功运行。

swift 在Ubuntu上的部署 请查看 Swift服务端开发系列完整版

你可能感兴趣的:(Swift服务端开发系列:(一)Mac上用Vapor搭建Swift服务端开发环境)