PythonでWebアプリケーションを開発するおすすめフレームワーク2選

pythonでできることを紹介するサイトの多くが取り上げられているできることにアプリ開発ができるということを話されていると思います。しかし具体的にはどういうものを使えば開発できるのか疑問に思うはずです。(少なくても私はどうすればwebアプリ開発できるのだろうと思いました。)そこで、私のメモも兼ねてどういうものを使えばウェブアプリケーションを開発できるのか調べたのでその共有をします。

アプリケーションの種類

そもそもアプリケーションには種類があるのはご存知でしょうか?まず、Excel やWord などのMacやWindows内でオフラインでも使えたり、スマートフォンアプリなど端末にインストールして使うことができる「ネイティブアプリケーション」 Googleやこのブログ記事などインターネットで使えるアプリケーションを「webアプリケーション」と現在では呼ばれています。YouTubeやTwitterなどのネイティブアプリケーションでも、ウェブアプリケーションでも使えるアプリケーションをハイブリットアプリケーションと呼ばれています。今回ご紹介しますのはウェブアプリケーションに絞って、開発に使うウェブフレームワークを紹介します。

WEBアプリケーション開発に使うおすすめフレームワーク

django

個人でスケジュール管理サイトや療育支援施設紹介サイト(現在停止中)を開発している身ではありますが、本当に便利で使いやすいなと思うフレームワークです。汎用性が高く、作りたいものはある程度できてしまうという最大の強みがあります。データベース作成からのユーザー作成はもちろん、セキュリティ対策や管理画面の設定もある程度設定ができていまうので、開発する上での作業量がグッと減ります。またわからないところがあってもすぐに調べられることが可能なのもメリットと言えます。

デメリットとしては、セキュリティ設定に対してどういう攻撃が弱いのかを把握することが大事です。これは、初期の段階で程度設定ができてしまうが故の欠点なのでしょうが、どうしても仕様の関係上、djangoユーザー自らが設定しないといけない部分が多々あります。そこでどういう攻撃に弱いのかを把握して対策をしていく必要があります。

ウェブサイトも作るということでHTML5やCSS Javascriptといったものを使う機会が多いです。そのため、非常に学習コストが高いのもデメリットです。pythonの他に別のプログラミング言語を同時に習得するということに抵抗を感じてしまう人は多いと思います。ウェブサイトを作る上ではpythonだろうがJavaなどのプログラミング言語関係なくあたりそうな問題でもありますが・・・

Flask

Flaskは、標準で提供する機能が必要最低限に絞られており、他のWebフレームワークに比べても動きが軽く軽量なWebフレームワークです。

そのため電卓といった小規模で簡単なサイトを制作していく分には便利です。また機能が少ない分学習する量は少ないため、python言語の学習でデモサイトの作成として使えることが挙げられます。デメリットとして機能が少ないことや、会員制ウェブアプリケーションなどの個人情報を扱うウェブサイトの開発には向いていません。わからないことがあったら調べるにも大体英語など日本語対応の少なさが挙げられます。

まとめ

以上2点がpython webアプリ開発でよく使われるフレームワークです。私としては、本格的に学びはじめてまだ一年も立たない未熟者ではありますが、この二つのフレームワークを触ってみて感じたことは、調べやすさやどういったものを作れるのかを考えた時圧倒的にdjangoが使いやすかったです。Flaskでも英語が読める人なら学習がしやすいだろうなと思います。一々翻訳した私はdjangoと比べて学習コストが高かったです。ゆっくりとpythonのフレームワークを学びたい人はFlaskを使い、早くウェブアプリケーションを作りたい人はdjangoをおすすめします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA