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

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

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

まとめ

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

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

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

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

佐野裕史

佐野裕史

侍エンジニア塾インストラクター。
主に技術担当をしています。

【経歴】
力仕事、接客業、営業職など様々な業界を経てIT業界に参入。
IT未経験からスタートし、1ヶ月で仕事獲得に奇跡的に成功。
1年半後にフリーランスに転身。

Web開発を主に行っており、得意とするのはRails、Ruby。
【技術スキル】
Rails、Ruby、Swift、Java(Android)、JavaScript

【趣味、趣向】
麻雀
MTG(マジックザギャザリング)
ダーツ、卓球、野球、ボウリングなどの球技

【Facebookページ】
https://www.facebook.com/hiroshi.sano.7
【Twitter】
プログラミング講師@佐野裕史
自分でプログラミングができない人のために情報を発信しています。
お気軽にフォローください。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説