IBM 公布 Kitura 1.0 和 Bluemix Runtime for Swift 3

  • Sergio De Simone
  • 大愚若智

2016 年 10 月 11 日

话题:IBMLinux语言 & 开发

Swift 3 正式公布几天后,IBM 就已发布了自家的开源服务器端Kitura 框架1.0 版,以及IBM Bluemix Runtime for Swift 3。InfoQ 就服务器端的 Swift 发展情况采访了 IBM 的 Chris Bailey。

为了兑现改善服务器端 Swift 稳定性和实用性的承诺,IBM 发布了适用于云平台的 1.0 版 Swift 框架:Kitura,该框架包含大量新功能,例如 URL 路由、SSL/TTL 支持、JSON 解析,以及可插拔式中间件。Kitura 还包含了一个可提供静态文件的 Web 服务器,并提供了对Fast CGI的支持。

此外最新版 Swift 工具也已包含在 IBM Bluemix Runtime 中,借此可将 Swift 代码部署至 IBM 云平台。

InfoQ 就服务器端 Swift 的发展情况采访了 IBM 公司负责 Swift 运行时技术开发工作的资深技术人员 Chris Bailey。

您已经深入参与到 Swift 3 的开发工作。是否可以将您在 Swift 开发团队中的角色描述为服务器端 Swift 的倡议者?这个版本中您的主要工作重心在哪里?

Chris Bailey:随着 Swift 去年成为开源项目,全球有很多人通过创意和开发工作完善 Swift,将其带到其他平台。我本人以及 IBM 的几个同事也是其中的一员。

IBM 的团队主要侧重于实现 Swift 在服务器端的运用,为 Swift 开发者提供必要的能力,帮助他们用尽可能简单的方式创建服务器应用程序和框架,这是我们努力的最终目标。在 Swift 3.0 版中,这意味着我们需要确保 Linux 平台对 Swift 的支持必须尽可能完善,尤其是要做好提供并发能力的Dispatch库并实现Foundation库 API。

虽然 Foundation 方面还有很多工作要做,但在 Swift 3.1 和 Swift 4.0 阶段,我们希望能同时开始着手服务器端的一些规范。

Swift 3 为服务器端编程和 Linux 提供了更好的支持,您能否详细谈谈这方面的内容?

Bailey:Swift 3.0 对服务器端和 Linux 的支持,主要进展在于额外的库和 API 支持。目前我们最热衷的工作之一是确保能够优先为 Linux 和服务器用例实现最重要的 API。为此我们考虑过使用 Kitura 作为测试环境,这是 IBM 开发的一种开源 Web 框架。随后我们使用各种现有的库构建了一系列示例应用程序,通过这些应用程序研究哪些 API 是最需要的,并进行更有针对性的测试。随着 Swift 3.0 的完善,随后我们将与最新进展保持同步,进行回归测试并执行性能测试。

借此我们发现 Foundation 的某些 API,例如URLSessionOperation其实非常关键。这些 API 都使用Dispatch实现并发,因此与 Kitura 类似,这些 API 也成为我们工作的重心。

Kitura 1.0 包含哪些新增或改进的功能?

Bailey:2016 年初,Kitura 实现了一个可以全面响应 URL 请求的 Web 框架。随着后续完善,我们陆续增加了构建现实应用程序所需的功能和特性。例如身份验证、模板、跨站点请求伪造预防(CSRF)机制、跨域资源共享(CORS)支持、日志、缓存、后端数据存储和服务的访问等功能。

随着 Swift 3.0 和Kitura 1.0的发布,我们开始侧重于性能、代码质量,以及压力测试等工作,我们构建了更多示例、演示和教程,并发布了 Kitura.io 网站。

当然,对于 Swift.org 所做的贡献和 Kitura 的开发只是我们的部分工作。上周我们还发布了 IBM Bluemix Runtime for Swift,其中包含最新版 Swift 并解决了系统依赖项问题,这样用户可以更专注于编写自己的服务器端 Swift 服务。Swift 运行时包含了在 IBM Bluemix 公有云、专用云,以及本地云部署中运行所需的全部优化措施。我们还会定期更新 IBM Swift Package Catalog、IBM Swift Sandbox 以及 IBM Cloud Tools for Swift,每个产品自身已能流畅运行,通过配合使用更可为 Swift 开发者提供端到端的集成式体验。这些工具目前均已发布至Swift@IBM 网站

查看英文原文:IBM Announces Kitura 1.0 and Bluemix Runtime for Swift 3

IBMLinux语言 & 开发