服务器端Swift简介(工具和框架)

这篇文章旨在提供Server Side Swift开发的介绍,并介绍工具和框架。

工具类

Swift软件包管理器(SPM)

Swift Package Manager是在Mac和Linux上运行的必不可少的构建和依赖性管理工具。

苹果/快速包装经理
swift-package-manager – Swift编程语言的软件包管理器 github.com

最有用的SPM命令包括:

  • swift build以构建快速软件包
  • swift build -c release构建用于发布的快速代码
  • swift package update以更新依赖项
  • swift package generate-xcodeproj用于从Swift代码创建或更新Xcode项目
  • swift package resolve以获取所有依赖项

将来,我将发布更完整的SPM指南。

Xcode

Apple提供的IDE可以编写,编译和调试Swift代码。

尽管还有其他选择可以开发Server Side Swift ,但是Xcode是最传统的选择。

Xcode –苹果开发人员
Xcode包含了为iPhone,iPad,Mac,Apple Watch和Apple TV创建出色应用程序所需的一切。 developer.apple.com

其他选项包括

  • 文本编辑器,例如vim,Sublime Text,Atom和VS Code + SPM
  • Jetbrains的AppCode

AppCode:JetBrains的Smart Swift和Obj-C IDE
适用于iOS / macOS开发的智能IDE,专注于代码质量,高效的代码导航,智能的代码完成… www.jetbrains.com

完美助手(PA)

PerfectlySoft开发的GUI可以管理依赖关系,并为macOSLinux构建Server Side Swift

它使用dockermacOS中构建Server Side Swift ,创建docker映像并启动容器以在不同环境中运行服务器。

它还为部署到诸如Amazon Web Services(AWS)Google Cloud Platform(GCP)的云平台提供了便利。

完美的助手文档| Perfect.org
阅读我们的技术文档库,以更好地理解Perfect为以下两者提供的所有功能… perfect.org

蒸气工具箱

蒸气的CLI为常见任务提供快捷方式和帮助

工具箱–蒸气文件
编辑描述 docs.vapor.codes

Kitura CLI

IBM-Swift / kitura-cli
kitura-cli –⌨️Kitura命令行界面 github.com

码头工人

并非特定于Server Side SwiftDocker用于将代码容器化并在不同的环境中运行。 假设您正在macOS上开发也需要在Linux上运行的服务器,那么Docker是您的朋友,因为您可以使用XcodeSPMmacOS中进行开发和构建,并确保您的代码在Linux上可以运行

服务器端Swift框架

服务器端Swift框架很多,但是有3个相对于其他框架更受欢迎的框架:

目前最流行的Server Side Swift框架。

蒸气(服务器端Swift)
Vapor是Swift最常用的Web框架。 它为… vapor.codes 提供了精美表达和易于使用的基础

完善

最稳定的服务器端Swift框架

服务器端Swift在这里:完美
通过将Swift用于所有服务器端和客户端应用程序,Perfect将简化您的编码。 www.perfect.org

Kitura

IBM对Server Side Swift的看法

IBM-Swift / Kitura
Kitura –一个Swift Web框架和HTTP服务器。 github.com

比较

这是我的高级比较:

  • 如果您正在寻找一个易于理解的平台和一个更大的社区,那么Vapor是您的朋友。
  • 如果您正在寻找企业级的,稳定的框架,那么Perfect是您的朋友。
  • 如果您投资于IBM技术并在IBM云上运行环境,那么Kitura是您最好的朋友。

我的选择将是Perfect,因为我的目标是开发与大数据堆栈通信的生产和企业级服务器。

不用说,选择任何这些框架都不会做错事。

详细比较

Ryan Collins关于Swift框架与Node.js的综合文章

顶级服务器端Swift框架与Node.js的更新基准测试
编辑描述 medium.com

蒸气与其他人

服务器端Swift与其他人-1:输入
编辑描述 medium.com

服务器端Swift与其他人-2:速度
编辑描述 medium.com