- 更新日: 2017年03月21日
- 公開日: 2016年11月07日
PythonのWebフレームワーク「Django」徹底解説!
Pythonのフレームワークとしては、Djangoが群を抜いて使われているでしょう。フルスタックのWebフレームワークで、幅広くWebフレームワークの開発に対応することができます。
本稿ではDjangoがなぜ使われているのか解説していくと共に、Pythonについても併せてご紹介しています。
フレームワークとは?
それでは最初に、フレームワークの基礎知識について復習しておきましょう。
フレームワークとはアプリケーションの開発に役立つ、汎用的な機能がまとまったもののことです。フレームワークを導入することで、開発スピードや生産性を大幅にアップさせることができるようになります。
フレームワークにはさまざまな種類があり、RubyのRuby on RailsやPHPのCakePHPあたりが有名ですね。本稿で取り上げるDjangoは、Pythonのフレームワークにあたります。
なおフレームワークについて、より詳しくは下の記事で解説しています。フレームワークを導入することのメリットや、代表的なフレームワークについても紹介しています。
フレームワークとは?今更聞けないWebフレームワークを始めから丁寧に
Pythonとは?
DjangoはPythonのWebフレームワークなのですが、そもそもPythonはどういったプログラミング言語なのでしょうか?Djangoの特徴に入る前に、Pythonとはどんな言語なのか簡単に見ておきましょう。
Python(パイソン)は汎用的なプログラミング言語です。非常に扱いやすい言語ということもあり、FacebookやGoogleなどの大手企業でも導入されている実績があります。
Pythonは文法がシンプルで可読性が高いため、ビギナーにもおすすめの言語の一つです。最近注目が集まっている機械学習(マシンラーニング)との相性も良いため、今後はより一層ニーズが高まっていくことが予想されます。
Djangoの基礎知識
さて、ここからが本題。Djangoの基礎知識に入って行ければと思います。
Djangoとは?
The Web framework for perfectionists with deadlines | Django
Django(ジャンゴ)とは、PythonのWebアプリケーションフレームワークのことを指しています。いわゆるフルスタックのフレームワークなのですが、Pythonのシンプルさもあり非常に使いやすく実践的なフレームワークになっています。Google(Google App Engine)やInstagram、NASAなど導入事例も多く知られています。
2005年7月にBSDライセンスでリリースされていて、現在ではバージョン1.10.2が最新となっています(記事執筆時点)。
Djangoの特徴
それではDjangoの特徴について見ていきましょう。
フルスタックのフレームワーク
上で述べたように、Djangoはフルスタックのフレームワークです。フルスタックとは、Webアプリケーションの実装に必要な機能が一通り揃っていること。独自のテンプレートエンジンやO/Rマッパーなどを備えています。管理画面やプロトタイプの作成にも優れています。
MTVを採用した設計
MVCモデル(Model-View-Controller)のフレームワークが多い一方で、DjangoではMTVモデル(Model-Template-View)を採用しています。ただ、MVCのViewをTemplateとして、ControllerをViewとして扱っているようなものなので、両者に大きな違いはありません。
高速に動作する
Djangoを使って制作されたアプリケーションは、高速に動作することが期待できます。というのも、Djangoは標準で分散型のキャッシュシステムであるmemcachedを備えているから。規模の大きなサービスなどでは、Djangoは有力な選択肢になることでしょう。
\AIエンジニアに必要なスキルが身に付く/
あとがき
PythonのWebフレームワークであるDjangoの特徴について解説しました。まだまだ日本ではあまり知名度のないフレームワークなのですが、プログラミングをはじめる方にもオススメです。Cloud9などのクラウドIDEでも対応しているので、学習の取り組みやすさもあります。本記事を読んで少しでもDjangoに興味を持っていただけたら幸いです!
- この記事を書いた人
- 中西洋平