@lsmn
2016-01-19T16:42:02.000000Z
字数 1748
阅读 3777
Perfect
Swift
服务器
跨平台
按照加拿大创业公司PerfectlySoft的说法,Perfect让使用苹果Swift语言构建企业级Web应用程序成为可能。随着苹果最近将Swift开源,Perfect承诺支持跨多种平台的跨平台开发,包括OS X、Linux、Windows、iOS和Android。InfoQ采访了PerfectlySoft公司的首席执行官Sean Stephens。
按照加拿大创业公司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页面。