BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Perfect将把Swift带到服务器端

| 作者 Sergio De Simone 关注 12 他的粉丝 ,译者 谢丽 关注 9 他的粉丝 发布于 2016年1月20日. 估计阅读时间: 5 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

按照加拿大创业公司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好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT