体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

徹底比較!Pythonで人気のフレームワークまとめ

Pythonは、YouTubeなどで使われている言語で機械学習などを得意とする特徴を持っています。実際にWebサービスを開発しようと思ったらフレームワークを利用する企業や人が多いと思いますが、この記事では人気のフレームワークを紹介していきます。

フレームワークごとに特徴が違うので、開発するサービスの規模など向き不向きを理解しておくと選定しやすいでしょう。

 

なお本記事は、TechAcademyのPythonコースの内容をもとにしています。

 

Django

DjangoはPythonのフレームワークでも最も有名なフレームワークです。

特徴として、見通しのよい MVC 分離、洗練された O/R マッピング API、そして汎用性の高い強力なテンプレートエンジンを備えています。

そして、高い柔軟性とパフォーマンスを同時に要求されるWebアプリケーション開発をサポートするフルスタックのフレームワークです。

また、 オブジェクト管理インタフェースやユーザ認証、セッション、国際化といった Webフレームワークとしての基本はもちろん、汎用のビューロジックや配信フィード (RSS/Atom) の生成など、Webアプリケーション開発に共通するメカニズムを提供し、DRY (Don’t Repeat Yourself) の法則に沿った開発を提供しているフレームワークです。

フルスタックとは、データベースやユーザーインターフェース、セキュリティの機能を全て1つのアプリケーションで賄うことができるということです。

DRYとはプログラミングにおいて、同じような処理を様々な場所に置くことを禁止するというような意味です。

 

Bottle

Bottleは、マイクロWebフレームワークです。

Djangoがフルスタックフレームワークですが、そこまでの機能は必要ないという開発者向けにWeb開発を行う最低限の機能は備えたフレームワークです。

マイクロフレームワークがフルスタックフレームワークよりも素晴らしい点は、学習する量が少なくて済むということです。

たったこれだけのメリットですが、すぐに何かを作りたいという開発者にとっては最大のメリットです。

他にもマイクロフレームワークはありますが、Bottleはたったい1ファイルだけのファイルでフレームワークとして機能しています。

中規模以上の開発を行う上では、技術的ハードルをクリアする必要がありますが、ちょっとしたWebサービスであればこれ以上無いPythonフレームワークです。

 

Flask

徹底比較!Pythonで人気のフレームワークまとめ

FlaskはマイクロWebフレームワークの中でも人気のフレームワークです。

人気の理由は中規模以上の開発にも対応しているということです。

当然その分学習内容は必要になりますが、マイクロWebフレームワークという名前の通り、1ファイルのみ記述することで実装可能な設計になっています。

そういう意味で、最低限必要な部分だけの学習量としてはマイクロWebの名前の通りのフレームワークです。

 

本当に人気なのか

徹底比較!Pythonで人気のフレームワークまとめ

今回紹介したフレームワーク以外も検索状態を比較しましたが、Python Djangoフレームワークがダントツの人気となっています。

また、マイクロWebフレームワークのFlaskがPythonのマイクロWebフレームワークでは、Python Djangoについでの圧倒的人気を誇っています。

 

利用者が多ければドキュメントなども比例して充実していることが多いので、なるべく他の人が多く使っているフレームワークを選ぶと習得ハードルも低いでしょう。

入門向けPythonの学習サイトも記事にしているので、学習したい方は参考にしてみてください。

 

また、TechAcademyではPythonを使って機械学習の基礎を学ぶPythonコースを開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

独学に限界を感じている方はぜひご覧ください。

TechAcademyマガジンの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。