Perfect 将把 Swift 带到服务器端

  • Sergio De Simone
  • 谢丽

2016 年 1 月 19 日

话题:Linux移动iOS语言 & 开发架构

按照加拿大创业公司 PerfectlySoft 的说法,Perfect让使用苹果的 Swift 语言构建企业级 Web 应用程序成为可能。随着苹果最近将 Swift 开源,Perfect 承诺支持跨多种平台的跨平台开发,包括 OS X、Linux、Windows、iOS 和 Android。据 PerfectlySoft 首席执行官 Sean Stephens 介绍,把 Swift 同时用于客户端和服务器端将使开发过程更高效,因为开发人员可以重用这个过程中的代码和逻辑,同时,借助 Swift 的功能,还能确保高水平的安全、防护和性能。

Perfect 包含一个名为PerfectLib的 Swift 框架。该框架提供了一套既可以用于前端开发又可以用于后端开发的核心工具。在客户端,PerfectLib 主要是复制了苹果 SDK 已经提供的功能,比如支持 JSON 编码 / 解码和编组、字节流管理、cURL 支持、SQLite 访问。使用 PerfectLib 对那些功能的实现,客户端代码对苹果 SDK 的依赖减少,因为更容易在后端重用。在服务器端,PerfectLib 包含了额外的、对服务器端特别有意义的功能, 比如支持文件管理、进程管理和 IPC、Mustache模板解析、状态 / 会话管理和面向 MySQL、ProgreSQL、SQLite、MongoDB 等数据库的连接器。

为了了解更多有关 Perfect 的信息以及更好地了解它为开发者提供了什么,InfoQ 采访了 Sean Stephens。

您能解析下你们的项目同苹果开源 Swift 的关系吗?它会带来什么样的机会?

对于正在构建移动、Apple

TV 等应用的开发人员,Perfect 将使他们可以像在客户端那样使用 Swift 构建服务器端应用程序,另外还可以使用 Swift 构建网站和 Web 应用程序。这意味着,通过在整个应用程序生态系统中使用同一种语言,开发人员可以节省时间,缩短学习曲线,减少所需的代码。

另外,我们认为,其他的平台(Android 等)将很快使用编译器,留下一种原生语言,可以跨当前所有流行的平台、移动及其他场景使用。

目前,Perfect 只包含 PerfectLib 框架。您能描述下 PerfectLib 所扮演的角色吗?

Perfect 还包含一个基于 FastCGI 的 Apache 连接器(也提供了自带的服务器供用户选择),使它自己可以提供服务——这些事情是 Swift 和独立 SDK 无法完成的。此外,Perfect 还包含了一些关键的开发库(会话管理、JSON 连接等等),这些都不是 Swift 原生的。对于移动开发,这些库不是必须的,但对于 Web 和后端开发很关键。

你们有任何增加新框架的计划吗?或者对 PerfectLib 进行某种扩展,让它包含更多的特性和抽象,以简化服务器端软件的开发?

我们确实计划扩展 Perfect,增加更多的特性、功能和抽象。我们已经有多个项目处于测试阶段(例如 ORM),还有几个项目处于中期开发阶段。一旦重要特性和项目的整体规模达到平衡状态,我们将停止扩大特性集,而将精力投入到模块特性开发和整体性能上。如果开发人员有一些他们希望看到的关键特性,那么我们肯定会考虑。

在恰当的时候,我们还计划提供额外的配置和服务器管理工具,以简化开发人员的工作。

你们会为非苹果平台提供任何特定的工具或工具支持吗?

我们已经开始将其他 Linux 上的 IDE 用于我们自己的 Swift 开发,例如 Sublime 和 Eclipse。Swift 已经获得了流行工具很好的支持,而且将继续有机地发展——不过,我们也会很乐意参与这些项目,伴它们成熟。目前,Swift 是这个星球上增长最快、更多人爱的语言,我们会非常高兴同他们一起引领潮流。或者也许,我们是在跟随潮流?

感兴趣的读者可以查看 Perfect 的GitHub 页面

查看英文原文:Perfect Aims to Bring Swift to the Server-side


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

Linux移动iOS语言 & 开发架构