立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

Perfect 将把 Swift 带到服务器端

  • 2016-01-19
  • 本文字数:1525 字

    阅读完需:约 5 分钟

按照加拿大创业公司 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))。

2016-01-19 18:005089
用户头像

发布了 1008 篇内容, 共 388.8 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

Windows11 ARM版本安装Python环境

IT蜗壳-Tango

IT蜗壳教学 7月月更

宝,运维100+服务器很头疼怎么办?用行云管家!

行云管家

云计算 运维 服务器 云管

华为云专家详解GaussDB(for MySQL)新特性

华为云开发者联盟

数据库 云计算 后端 算子

毕业季 | 华为专家亲授面试秘诀:如何拿到大厂高薪offer?

华为云开发者联盟

面试 工作 offer 大厂 毕业

实例讲解将Graph Explorer搬上JupyterLab

华为云开发者联盟

人工智能 GES

若干互联网暴露面的收敛及处置建议

穿过生命散发芬芳

7月月更 互联网暴露

创业团队如何落地敏捷测试,提升质量效能?丨声网开发者创业讲堂 Vol.03

声网

创业讲堂 生态专栏

云服务器ECS夏日省钱秘籍,这次@老用户快来领走

阿里云弹性计算

阿里云 云服务器ECS

毕业总结

流火

【直播回顾】战码先锋首期8节直播完美落幕,下期敬请期待!

OpenHarmony开发者

Open Harmony

AirServer2022最新版功能介绍及下载

茶色酒

AirServer AirServer2022

BOOTSTRAP

Jason199

bootstrap 7月月更

4. 对象映射 - Mapping.Mapstercover

MASA技术团队

C# .net 微软 框架 Framework

vue-axios(三)

小恺

7月月更

如何使用物联网低代码平台进行个人设置?

AIRIOT

低代码 物联网 低代码,项目开发

纪念成为首个DAYU200三方demo贡献者

坚果

HarmonyOS OpenHarmony OpenHarmony应用开发 7月月更 harmony

云小课|3种常用Git工作流推荐

华为云开发者联盟

后端 开发 华为云

使用环信提供的uni-app Demo,快速实现一对一单聊

环信

即时通讯 uni-app集成 环信im

九章云极DataCanvas公司蝉联中国机器学习平台市场TOP 3

九章云极DataCanvas

网络编程常用的几种字符编码

HoneyMoose

认识线程

zarmnosaj

7月月更

K临近算法介绍

乌龟哥哥

7月月更

混沌工程平台 ChaosBlade-Box 新版重磅发布

阿里巴巴云原生

阿里云 分布式 云原生 混沌工程

linux下清理系统缓存并释放内存

入门小站

Linux

透过华为军团看科技之变(六):智慧公路

脑极体

架构师毕业总结

凯博无线

微服务服务稳定性治理

阿泽🧸

微服务治理 7月月更

精耕渠道共谋发展 福昕携手伟仕佳杰开展新产品培训大会

联营汇聚

JavaScript 设计模式之代理模式

devpoint

JavaScript 设计模式 代理模式 7月月更

一个实习生的CnosDB之旅

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

BlocProvider 为什么感觉和 Provider 很相似?

岛上码农

flutter ios 安卓 移动端开发 7月月更

Perfect将把Swift带到服务器端_Linux_Sergio De Simone_InfoQ精选文章