Vapor(ウェブフレームワーク)

Vapor
開発者Tanner Nelson 他
初回リリース2016年1月18日[ 1 ] [ 2 ] (2016年1月18日
安定版リリース
4.102.1 [ 3 ] / 2024年7月10日 ( 2024-07-10 )
言語Swift
オペレーティングシステムmacOSUbuntu
プラットフォームSwiftNIO
タイプウェブフレームワーク
ライセンスMITライセンス
ウェブサイト vapor.codes

VaporはSwiftで記述され、Swift開発用に設計されたオープンソースのウェブフレームワークです。WebSocketを使用したRESTful API、ウェブアプリ、リアルタイムアプリケーションの作成に使用できます。コアフレームワークに加えて、VaporはORM、テンプレート言語、およびユーザー認証認可を容易にするパッケージを提供します。[ 4 ]

VaporのソースコードはGitHubでホストされており、MITライセンスの下でライセンスされています。[ 5 ] Vaporは2016年からSwiftのサーバーAPIワーキンググループに参加しています。[ 6 ] [ 7 ]

歴史

Vapor 0.1.0は、 AppleがSwiftをオープンソース化し、 2015年12月3日にLinuxプラットフォームのサポートを開始してから1か月後に、サーバー上のSwiftの概念実証としてリリースされました。[ 8 ] Vapor 1.0 [ 9 ]は2016年9月に登場し、続いて2017年5月にVapor 2.0がリリースされました。[ 10 ]

このフレームワークはVapor 3.0 [ 11 ]用に書き直され、AppleのノンブロッキングネットワークフレームワークSwiftNIO上に構築されました。Vapor 3は2018年5月にリリースされました。AppleはSwift.orgのメインサーバーページで、Vapor(とKitura)が新しいSwiftNIOフレームワークを採用したスピードについて言及しました。[ 12 ]

Vapor 3のベータ期間中、Packt [ 13 ] [ 14 ] [ 15 ] Paul Hudson [ 16 ] Razeware LLC [ 17 ]およびlynda.com [ 18 ]によって教育資料が公開されました。VaporはSwift.orgによって公式Swiftフォーラムとして認められ、2018年5月に関連プロジェクトの最初のグループに加わりました[ 19 ]

Vapor 4 [ 20 ]のアルファ1リリースは2019年5月に開始され、安定版は2020年4月にリリースされました。[ 21 ]

リリース

バージョン リリース日 Swiftバージョン
サポート対象外:1.0 2016年9月15日 ≥ 3.0
サポート対象外:2.02017年5月17日 3.1以上
サポート対象外:3.02018年5月4日 4.1以上
最新バージョン:4.02020年4月9日 ≥ 5.2
将来のバージョン:5.0未定 ≥ 未定
凡例:
サポート対象外
サポート対象
最新バージョン
プレビュー版
将来版

出典:Vapor Docs & GitHub Releases. [ 22 ] [ 23 ]

Swiftバージョンのサポート

Vapor 4は、Swiftの最新の3つのマイナーバージョンをサポートしています。2023年10月27日現在、これにはSwift 5.7、Swift 5.8、Swift 5.9が含まれます

これはSwift Server Workgroup [ 24 ]が定めた基準を満たしており、Vaporもそのメンバーである[ 25 ]

機能

Vaporは以下の機能をサポートしています: [ 26 ]

  • 非同期/非ブロッキングIO
  • 認証: 基本認証、ベアラー認証、JWT 認証、パスワード認証
  • キャッシュ: Redisとメモリ内
  • コマンド / コンソールのフォーマット
  • コンテンツネゴシエーション: JSON、マルチパート、URLエンコード形式
  • 暗号化: RNG、暗号、ダイジェスト、RSA
  • 依存性注入/制御の反転[ 27 ]
  • 流暢なORM: MySQL[ 28 ] PostgreSQLMongoDBSQLite
  • HTTPクライアントとサーバー
  • リーフテンプレート: HTMLなど
  • ログ記録
  • URLルーティング
  • 検証
  • WebSocketクライアントとサーバー
  • キュージョブ

参考文献

  1. ^ 「Vapor 0.1.0 リリース」 . GitHub . 2016年1月25日. 2018年4月3日閲覧
  2. ^ 「サーバーサイドSwiftフレームワークの比較」 。 2018年5月24日閲覧
  3. ^ 「Vapor 4.102.1 リリース」 . GitHub . 2023年7月10日. 2024年7月23日閲覧
  4. ^ 「Vapor GitHub Organization」 . GitHub . 2018年4月3日閲覧。
  5. ^ "vapor/vapor LICENSE at master" . GitHub . 2018年2月23日. 2018年4月3日閲覧
  6. ^ “Swift Server APIs” . 2016年10月25日. 2021年5月10日時点のオリジナルよりアーカイブ2018年5月22日閲覧。
  7. ^ 「Swift Blog: Server APIs Work Group」 . 2016年10月25日. 2018年5月22日閲覧
  8. ^ 「Swiftはオープンソースです」 2015年12月3日。 2018年4月3日閲覧
  9. ^ 「Vapor 1.0.0 リリース」 . GitHub . 2016年9月15日. 2018年4月3日閲覧
  10. ^ 「Vapor 2.0.0 リリース」 . GitHub . 2018年5月17日. 2018年4月3日閲覧
  11. ^ 「Vapor 3.0.0 リリース」 2018年5月4日. 2018年5月23日閲覧
  12. ^ Inc., Apple. 「Swift.org」 . Swift.org . 2018年10月4日閲覧{{cite web}}:|last=一般的な名前があります(ヘルプ
  13. ^ Patel, Ankur (2018-03-30). 『Swiftによるフルスタック開発実践』 . Packt Publishing. ISBN 978-1788625241
  14. ^ Yeung, Angus (2018). 『Swiftによる実践的なサーバーサイドWeb開発:2つの人気のSwift Webフレームワーク、Vapor 3.0とKitura 2.5を活用して動的なWebアプリを構築する』 Packt Publishing Ltd. ISBN 9781789345865201912月16日閲覧
  15. ^ Kuepper, Ralph (2020-03-12). 『Hands-On Swift 5 Microservice Development』 . Packt Publishing. ISBN 978-1789530889
  16. ^ハドソン、ポール (2018年3月1日).サーバーサイドSwift (Vapor版).
  17. ^ Condon, Tim; et al. Server Side Swift with Vapor . Razeware LLC.
  18. ^ 「VaporでサーバーサイドSwiftを学ぶ」 。 2021年5月9日時点のオリジナルよりアーカイブ2018年5月22日閲覧。
  19. ^ 「Swiftフォーラムへの関連プロジェクトの紹介」 2018年5月10日。
  20. ^ VAPOR (2019年5月28日). 「Vapor 4: Alpha 1リリース開始」 . Medium . 2019年9月9日閲覧
  21. ^ “Release Vapor 4.0.0 · vapor/vapor” . GitHub . 2021年2月15日閲覧。
  22. ^ 「GitHub: vapor/vapor リリース」 . GitHub . 2021年2月15日閲覧。
  23. ^ 「Vapor Docs: Support」 . Vapor. 2018年5月23日時点のオリジナルよりアーカイブ2018年5月4日閲覧。
  24. ^ 「Swift Server Workgoup」
  25. ^ 「Swift Server ワークグループのメンバー」
  26. ^ “Vapor Docs” . docs.vapor.codes . 2021年7月22日時点のオリジナルよりアーカイブ2018年5月22日閲覧。
  27. ^エリオット、キース (2016年10月6日). Swift 3 の新機能. Packt Publishing. ISBN 978-1786462718
  28. ^フセイン、シャイスタ他 (2018年3月12日). 2018年第6回国際バイオインフォマティクスおよび計算生物学会議議事録. 計算機協会. ISBN 978-1-4503-6348-8