Swiftで使えるWEBフレームワーク7選!特徴や使い道まとめ

SwiftではどんなWEBフレームワークがあるの?
WEBフレームワークはたくさんあるけどそれぞれの特徴が知りたい

こんにちは!インストラクターの佐野です。Swiftがオープンソースとなってからすでに3年以上の年月が経ちました。以前と比べて、SwiftでWEBサーバー作ってみたという声が増えてきましたね。すでにSwiftで開発できるWEBフレームワークがたくさん誕生しています。

しかし、WEBフレームワークの種類がありすぎてどれを使えばいいのか?わからなくてお困りではないでしょうか?

そこで、今回はあらためてSwiftで使える各WEBフレームワークの特徴や使い道、実践で使えそうなWEBフレームワークはどれなのかをまとめました。Swift開発者の助けになれば幸いです。

目次

Swiftでフレームワークを使うための前提知識

最近ですが、SwiftでのWEB開発はどんどん活発になってきました。

Swiftが発表された2年前はWEB開発をする人はごく一部でしたが、多数のWEBフレームワークの登場により検証が繰り返され実践でも使われるようになっています。

もはや、WEB開発には「Ruby」「Python」「PHP」だけではなく、Swiftも候補に入れておく必要があるでしょう。

Swiftでフレームワークを使用するにはWEBサーバーの知識が必要です。まだこれといったWEBフレームワークがないので、使い方を自分で学んでコーディングしていく必要があります。

初心者にとっては非常に辛い部分ですが、WEBの知識と英語のドキュメントが読むことができれば、初心者でもアプリとWEBサーバーの両方をSwiftで開発することも可能でしょう。


そもそもフレームワークって何?
ライブラリとの違いは何?

という方は、以下の記事にフレームワークについての詳細な解説をしていますので参考にしてください。

Swiftで使えるWEBフレームワーク7選

現在あるSwfitのWEBフレームワークは以下のようなものがあります。

フレームワーク特徴
Perfect(パーフェクト)Linux/Mac OS対応
フロントエンド・バックエンド両方の開発が可能
Kitura(キトゥーラ)IBM社が開発し、人気が高い
本格的なWEB開発にも使える
Vapor(ベイパー、ベーパー)近年人気が上昇している
MacOS/Ubuntu上で動作
「Laravel」に影響を受けている
Express非同期、シンプル、強力なWEBアプリケーションを作れる
ーティングのメカニズムやテンプレート機能が提供されている
HTTPSwiftServer「Cocoa」を拡張するフレームワーク
iOSアプリとの通信を行うサーバーを開発したい人向け
SwiftonRuby on Railsに影響を受けたWEBフレームワーク
MysqlやPostgreSQLなどのデータベースもサポートされている
Slimane非同期に関わる機能はほぼ対応している
WEBフレームワーク自身がHTTP Serverとして機能

それぞれの詳細について見ていきましょう。

Perfect(パーフェクト)

screenshot-2016-09-28-10-35-44

引用元:Perfect http://perfect.org/

Appleは12月の初めにSwiftをオープンソースとして公開しました。それとほぼ同じ時期にリリースされたのが「Perfect」です。おそらく一番最初に登場したWEBフレームワークでしょう。

しかも、このWEBフレームワークは噂によるとカナダ在住の方がほとんど一人で作られたそうです。すごいですよね!

PerfectはLinuxかMac OSで動くWEBアプリケーションやWEBサーバーを作ることができちゃいます。自分で用意したサーバー環境で使うことができるので自由度が高そうです。

Perfectがほぼ同時に登場したおかげで、1つのプログラミング言語(Swift)だけで、フロントエンド(iOSアプリケーション)とバックエンド(Webアプリケーション)の両方をいきなり開発できるようになりました。

Kitura(キトゥーラ)

screenshot-2016-09-28-10-38-26

引用元:Kitura http://www.kitura.io/

Kitura(キトゥーラ)は、あの有名なIBM社が2016年2月22日に発表したフレームワークです。

Bluemixという同社のクラウド環境上(herokuやcloud9などと同じPaaSというサービス)で動作するWEBアプリケーションやWEBサーバーを作ることができます。IBM社が開発しているだけあって開発は活発に行われています。

WEBに関する機能にはしっかり対応しているので、本格的なWEB開発にも十分使うことができる優れたWEBフレームワークです!

Vapor(ベイパー、ベーパー)

screenshot-2016-09-28-10-41-02

引用元:Vapor https://vapor.codes/

Vaporは、最近はどんどん人気をあげているWEBフレームワークです。

MacOSとLinuxのUbuntu上で動作します。PHPのフレームワーク「Laravel」に影響を受けたフレームワークなので、非常に効率的に開発ができます。

WEBサイト、REST API、クラウドサービスを作るための便利な機能が提供されています!ぜひ次のWEB開発で使われてみてはいかがでしょうか。

Express

screenshot-2016-09-28-10-45-54

引用元:Swift Express http://swiftexpress.io/

Expressは、非同期、シンプル、強力なWEBアプリケーションを作ることができます。RailsやLaravelなどと同じ拡張性に優れたMVCによる開発がサポートされています。

シンプルなルーティングのメカニズムやテンプレート機能が提供されているので、WEB開発者は使いやすいでしょう。SwiftでWEBアプリを開発するのであれば、ぜひフレームワーク候補に入れておく必要があるでしょう!

HTTPSwiftServer

screenshot-2016-09-28-10-49-54

HTTPSwiftServerは、MaxOSアプリを構築するためのフレームワーク「Cocoa」を拡張するフレームワークです。

WEBの基礎技術である「HTTP」をiPhoneなどのiOSアプリと連携できるように改良されています。シンプルな機能しか提供していませんが、もともとMacに組み込まれているCocoaを拡張しているので統合性が高く、サーバー機能を使う為の最もベストな方法だと言われています。

ただ単純にiOSアプリとの通信を行うサーバーを開発したい場合は一番の候補に挙がってくるでしょう!

Swifton

screenshot-2016-09-28-10-51-35

引用元:Swifton GitHub https://github.com/necolt/Swifton

Ruby on Railsに影響を受けたWEBフレームワークです。

LinuxとMaxOS上で動作します。Rails風に書くことができるので、Railsに慣れている方であれば一番使いやすいでしょう。MysqlやPostgreSQLなどのデータベースもサポートされています。

マイグレーション機能はまだないですが、今後改良がすすむと一気に主流になる予感がするWEBフレームワークです!

Slimane

screenshot-2016-09-28-10-53-09

引用元:Slimane:GutHub https://github.com/noppoMan/Slimane

先ほどのExpressに影響を受けた最新バージョンのSwift3に対応しているWEBフレームワークです。

非同期通信に強く、非同期に関わる機能はほぼ対応しているといっていいでしょう。高速で動作し、WEBフレームワーク自身がHTTP Serverとして機能するので、扱いやすいです!

ぜひ今後発展してほしいWEBフレームワークです!

SwiftでのWebアプリ開発をより効率的に進めるには?

SwiftでのWebアプリ開発はまだ他の言語に比べると発展途上ではありますが、現状でもここまで多くのWebフレームワークがあります。

将来的にはWebアプリ開発はSwiftと呼ばれる時代がくるかもしれませんね。しかしSwiftでのWebアプリ開発はあくまでも発展途上の段階です。

他の言語に比べると参考となる資料や書籍がまだ多くありません。そのため、独学での学習は通常よりも難しいと言えます。

独学でのプログラミング学習には1000時間ほど必要と言われています。その理由は教材が足りないこととモチベーションが続かないことが要因です。それらを解決するためにはプログラミングスクールへ通うことをおすすめします。

手前味噌ではありますが、弊社「侍エンジニア」では、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しいオリジナルアプリ開発や、フリーランスとしての仕事獲得までを徹底的に支援しています。

オンラインでも受けられる無料カウンセリングでは、

  • 未経験からSwiftを効率よく学習するコツ
  • アプリ制作ができるようになった人のキャリア
  • Swift以外にも身につけておくべきスキル

など、IT業界に精通したコンサルタントがただの言語習得ではなく、あなたのキャリアを見据えた上でのコンサルティングを行います。

私でもプログラミング出来るようになるのかな…
スキルやノウハウを身につけて成長したい…

そんな熱い気持ちを持ったあなたを弊社では全力でサポートいたします。下記のカレンダーより、お気軽にレッスンへお越しください。

お急ぎの方はこちらからお問い合わせください。

読み込みに失敗しました。
大変お手数ですが、本ページを再度読み込んでください。

再度読み込んでも、読み込み失敗が起こる場合は
こちらからお問い合わせください。

カウンセリングはオンラインにて実施しております。

※予約完了後に、カウンセリングのためのURLやIDなどをメールにてご案内します

1.ご希望の日時を選択してください

空きあり 満席
前週
次週

2.必須事項を入力してください

必須選択された日時

日時を選択してください

開催場所 オンライン

日時を選択する

必須お名前

必須電話番号

必須メールアドレス

    ご予約により、個人情報の取り扱いおよび利用規約に同意するものとします。

    まとめ

    いかがでしたでしょうか?

    まだまだ発展途上のWEBフレームワークですが、どんどん実用的なものがでてきています。もはやSwiftでのWEB開発も当たり前になってくるのではないでしょうか。

    実用で使われるケースも出てきているので、これからもっと発展していくでしょう。SwiftのWEBフレームワークからは目が離せません。今後が楽しみですね!

    この記事を書いた人

    侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。

    目次