0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

(社内勉強会) API用Webフレームワークの構築・調査

Posted at

目的

プロダクトに適したAPI用Webフレームワークの導入のための調査

現状

flaskを利用してAPIを構築しているが、要件が膨れ上がり複雑度を増してきている
生産性を高く保つために、FWの乗り換えを検討している

作業概要

各FWについて以下の観点でプロダクトにマッチしているかを調査する

  • 必要な機能が揃っている、しかし不要なものがない
  • メンテナンス性が高い(描きやすく読みやすい)
  • ルールや規約が整備され、迷うことが少ない

社内勉強会にて、一人1FWを調査し、調査結果を持ち寄り発表する

作業詳細

1. シンプルなAPIの作成

TODOアプリのAPIを作成してみる

endpoint

  • GET /todo (SELECT)
  • POST /todo (INSERT)
  • PUT /todo/ (UPDATE)
  • DELETE /todo/ (DELETE)

TODO's data Model

  • id (サロゲートキー、PK)
  • message
  • created_time
  • updated_time

2. 各APIの機能有無について調査

以下の22の観点についての対応状況を調査
https://qiita.com/tmknom/items/08b69594e32a92bccee5#%E8%A8%80%E8%AA%9E%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E9%81%B8%E5%AE%9A

対象Webフレームワーク

LLを中心に選定。Javaは生産性の観点で今回は除外

  • Ruby: Rails(APIモード)
  • PHP: Laravel(Lumen)
  • Python: Django(Django REST Framework)
  • Python: Pyramid
    Go Ginなどあと3つ追加予定

おまけ

Google Trendによる比較
https://trends.google.co.jp/trends/explore?date=all&q=java%20spring,php%20laravel,ruby%20on%20rails,django%20python

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?