シェアしました。
先日、こんな記事を書きましたが、とても好評で
調子に乗って、Pythonのフレームワークの比較も書きたいと思います!しかも2018年最新版という位置付けで書きます!
では、始めましょう!
目次 [非表示]
Django
特徴メモ
DjangoはPythonのフレームワークでも最も有名なフレームワークです。
Pythonのウェブフレームワークと言ったらDjangoが定番と言って良いでしょう。
Flask
特徴メモ
FlaskはPythonのWebアプリケーションフレームワークです。
マイクロWebフレームワークの中でも人気のフレームワークです。中規模以上の開発にも対応しているということです。
Djangoのようなフルスタックフレームワークと違い、軽量で簡単に実行できる。
サクッとちょっとしたウェブアプリケーションを作るときは、これでいいかもしれません!
Bottle
特徴メモ
Bottleはライブラリが一つのpythonファイルのみで構成されており非常にシンプルで使いやすいです。マイクロWebフレームワークです。
DjangoやFlaskが有名で定番ですが
Web初心者には少し高機能すぎるかもしれません、簡単ですぐ始めたい人はBottleをおすすめです。
Djangoがまでの機能は必要ないという開発者向けにWeb開発を行う最低限の機能は備えたフレームワークです。
CherryPy
特徴メモ
CherryPyは、軽量なpython ウェブアプリケーションフレームワークです。上のスクリーンショートのように、数行でウェブサーバーの作成ができてしまいます!
もっと軽量でSinatra-likeに書けるpython WAFにFlask/Bottleがあるが、オブジェクト志向のように書けて、url Routingとオブジェクトツリーを対応させたい場合にはCherryPyが良いと思ます。
例えば、APIだけサクッと書きたいときはCheeryPyがいいかもしれません。
Fullstack WAFだとDjangoが圧倒的だと思いますが、プロトタイプを作る用途でしたら、WebAPIのみ作成するならCherryPyがベストかもしれません。
Pyramid
特徴メモ
Flaskの物足りなさが嫌い、Djangoの重厚さに呼吸困難なあたなに朗報!
Pyramidをお選びください!笑
TurboGears
特徴メモ
AjaxやWebサービスといった今日的なWeb技術を手軽に体験できる意欲的なフレームワークです。
O/ Rマッパー, テンプレートエンジンなど一部の部品は置き換え可能で, 必要に応じて部品を取り替えることができます。
Web2py
特徴メモ
日本語のドキュメントもあります。
web2py は、データベースを使用するタイプのWebアプリケーションを、アジャイルで開発するためのオープンソースのフレームワークでです。
web2pyはセキュリティーの確保に重点を置いています。例えばデフォルトで入力値の検証を行ったり、出力のエスケープを行う仕組みを提供しています。これらの仕組みはSQLインジェクション、クロスサイトスクリプティング、安全でないオブジェクトの直接参照といったよくある脆弱性の問題を未然に防ぐことを目指しています。
Tornado
特徴メモ
Tornadoは、Pythonで書かれたWebフレームワーク/非同期通信ライブラリであり以下の特徴があります。
- FriendFeedにより開発(現在はFacebook)
- OpenSource(Apache 2.0)
- Python2系, Python3系, PyPyで動作
- シングルプロセス、シングルスレッド
- シンプル、高速、スケールしやすい
- テンプレートエンジンが同梱されている
Sanic
特徴メモ
Full Stack Python!
Sanic is a Flask-like Python 3.5+ web server that’s written to go fast.
Sanicは著名なイベントループライブラリであるuvloopを利用しています。
Node.jsのように非同期I/Oによる高効率なHTTPリクエスト処理が可能です。
また、SanicはFlaskとよく似たシンタックスを提供しているため、他のフレームワークよりも移行コストを抑えることができます。
Dash
特徴メモ
Python製のWebアプリケーションのフレームワークです。
他のフレームワークの大きいな違いは、DashはPlotlyを使用した可視化されたデータを組み込むことができます。
UIを操作しながら対話的に出力内容をコントロールすることができます。
データを視覚的に処理する内容が多いアプリケーションは、Dashが便利かもしれませんね。
こちらのDashを紹介するMedium記事もおすすめです。
ぜひ合わせてお読みいただければと思います。
AIOHTTP
特徴メモ
asyncioと連携するために設計されたライブラリです。(ウェブアプリケーションフレームじゃないかもしれません!笑)
japronto
特徴メモ
RPSが高い!とにかく早い!
japranto githubページより引用
まとめ
いかがですか?
どのフレームワークも一長一短があると思いますし、慣れや経験、コミュニティーのサポート、ライブラリーの豊富さなど様々の選別要因があると思います。
よく今からスタートするプロジェクトの要件を見極めて、そのプロジェクトに適した一番良いフレームワークを選んでください。
迷ったら、一番人気のものにしてください。
では、また!
(この記事はまた、新しい知見、経験、感想があれば、随時更新、加筆していく予定です!)
独学プログラマー Python言語の基本から仕事のやり方まで
- 著者コーリー・アルソフ
- 価格¥ 2,376(2019/09/08 00:36時点)
- 出版日2018/02/24
- 商品ランキング735位
- 単行本322ページ
- ISBN-104822292274
- ISBN-139784822292270
- 出版社日経BP
現場で使える Django の教科書《基礎編》
- 著者横瀬 明仁
- 価格¥ 1,728(2019/09/08 14:36時点)
- 出版日2018/08/26
- 商品ランキング14,008位
- オンデマンド (ペーパーバック)180ページ
- ISBN-104802094744
- ISBN-139784802094740
- 出版社NextPublishing Authors Press
PythonでWebサービスを作る - Python3 + Flaskで作るWebアプリケーション開発入門 - その1
- 著者中野 仁
- 出版日2018/02/24
- 商品ランキング2,517位
- Kindle版181ページ
- 出版社
0 件のコメント:
コメントを投稿