サーバでSwingを使用可能にするPerfect
Perfectを使えば,AppleのSwift言語を使ったエンタープライズ級のWebアプリケーションが開発可能になる - カナダのスタートアップであるPerferctSoft Incはこう説明する。Appleが先日オープンソース化したSwiftを使ったPerfectは,OSXやLinux, Windows, iOS, Androidといった,複数のプラットフォームにまたがったクロスプラットフォーム開発のサポートを提供している。同社CEOのSean Stephens氏によると,Swiftをクライアントとサーバ両方で採用することによって,コードやロジックの再利用による開発プロセスの効率化が実現すると同時に,Swiftの持つ高レベルの安全性とセキュリティ,パフォーマンスを活用できる。
Perfectを構成するのは,フロントエンドとバックエンドのどちらでも使用可能な一連のコアユーティリティを提供する,SwiftフレームワークのPerfectLibである。クライアント上では,JSONエンコード/デコードとマーシャリングのサポート,バイトストリーム管理,cURLサポート,SQLiteアクセスといった,AppleのSDKがすでに提供している機能を踏襲する。PerfectLibが提供するこれらの機能実装を使用することで,クライアントコードのApple SDKへの依存度が低くなり,バックエンドでの再利用が容易になる。サーバ側に関しては,ファイル管理,プロセス管理とIPC,Mustacheテンプレート解析,状態およセッション管理,MySQLやPostgreSQL, SQLite, MongoDBといったデータベースへのコネクタなど,サーバ上で一般的な機能が含まれている。
InfoQはPerfectの詳細と開発者に提供される内容を理解すべく,Sean Stephens氏に話を聞いた。
あなたのプロジェクトと,Appleがオープンソース化したSwiftとの関連について教えてください。どのような点で,それがきっかけになったのでしょうか?
PerferctはモバイルアプリやApple TV用アプリを開発している人たちに,アプリケーションのサーバ側でもクライアント側と同じようにSwiftを使えるようにするだけでなく,Swiftを使ったWebサイトやWebアプリケーションの開発も可能にします。これはつまり,開発者が自身のアプリケーションのエコシステム全体で同じ言語を使用できることから,開発時間や学習カーブ,構築に必要なコード量の削減が可能になることを意味します。
さらに私たちは,他のプラットフォーム(Androidなど)にもコンパイラを近日中に対応して,一般的なプラットフォームやモバイルなどすべてを,ひとつのネイティブ言語だけにしたいと考えています。
現在のPerfectにはPerfectLibフレームワークが含まれているだけですが, PerfertLibはどのような役割を果たしているのでしょう?
それ以外にも,FastCGI経由のApacheコネクタ(あるいは代用として自己完結型サーバ)も含まれていて,自身でサービスを行なうことが可能です - これはSwiftとスタンドアロンのSDKではできません。さらに元のSwiftには含まれていなかった,開発用の重要なライブラリ(セッション管理,JSON接続など)も追加されています。いずれもモバイル開発では必須ではありませんが,Webやバックエンド開発では重要なライブラリです。
新たなフレームワーク追加などの方法でPerfectLibを拡張して,もっと多くの機能や抽象化を含めることで,サーバ側のソフトウェア開発を容易にするような計画はありますか?
機能や抽象化を増やして,Perfectを拡張しようという計画はあります。いくつかのプロジェクト(ORMなど)はすでにベータテスト中ですし,開発中のものもあります。重要な機能とプロジェクト全体のサイズとのバランスにある程度の目処がついたら,機能セットを拡張する作業を停止して,モジュール形式の機能開発と全体の改善に集中するつもりです。もし開発者が重要な機能を必要としているのであれば,もちろんそれは考慮します。
開発者の日常作業を容易にするために,付加的な構成ツールやサーバ管理ツールなども提供していくつもりです。
Apple以外のプラットフォーム用には,特別なツールやツーリングサポートが提供されるのでしょうか?
私たち自身のSwift開発で,すでにLinux用の他のIDE - SublimeやEclipseなど - を使い始めています。Swiftは一般的なツールですでにサポートされていますから,今後もオーガニックな成長が続くでしょう。これらのプロジェクトが成熟したら,私たち自身も参加できればと思っています。Swiftは現時点で,最も急速に成長し,最も愛された言語です。彼らのフロントシートに私たちも座ることができて,本当に幸せだと思っています。それとも,リアシートでしょうか?
PerfectはGitHubから入手可能だ。
この記事に星をつける
- エディタータブ
- チーフエディタータブ