Djangoとは、Pythonのウェブフレームワークです。
ウェブとは、世界中のコンピューターが繋がって、あらゆる情報交換が可能になった蜘蛛の巣状のネットワークのことを指しますが、それを利用しやすくしたものがWebサイトやWebアプリケーションです。
そのようなサービスを一から一人で作るのは、大変な手間と労力が必要になります。そこで活躍するのが「ウェブフレームワーク」なのです。
細かいプログラムの部品は、すでに作られていて、あとは目的に合わせて組み立ていくだけでWebアプリケーションなどが作れるのが、ウェブフレームワークです。
Djangoはそんなウェブフレームワークの一種であり、YouTubeやInstagramもDjangoによってできています。
DjangoはPythonの多機能フレームワーク
今や、データサイエンスの世界で不動の地位を築いているPythonは、驚くほど多くのことができます。その中でも注目に値するのが、Webサービスの構築でしょう。
今や、AIのほとんどはPythonで実装されます。そんなPythonで多くの情報が集まるプラットフォームを構築できれば、AIとの組み合わせで、常に成長し続けるWebサービスを作ることができます。
Pythonにはいくつかのウェブフレームワークがあります。
- Django
- Flask
- Bottle
が有名なフレームワークです。
Webフレームワークとは?
Webフレームワークとは、Webアプリケーションを簡単に、素早く、分かりやすく開発するための機能を持つ道具箱のようなものです。
Webアプリケーションに必要な機能は、例えば以下のようなものがあります。
- ログイン
- 書き込み
- 削除
などです。これらの機能を0から作るようなことはされていません。フレームワークを使って、ほんの少しだけコードを追加すれば、簡単に実装することができます。
大切なのは、プログラミングができるかどうかよりも、どんなサービスを提供できるかです。
目的の機能を簡単に実装できるようにすることで、エンジニアの学習コスト、時間、開発コストなどを大幅に節約できるのです。
Djangoはどんなフレームワーク?
さて、Pythonにはたくさんのフレームワークがあります。その中でもDjangoは、もっとも多機能で人気のWebフレームワークなのです。
Djangoを知るために、有名なPythonのWebフレームワークと比較しながらその特徴をみてみましょう。
- Django
- Bottle
Flask
Dash - responder
の5つで比較してみます。
・BottleはPythonのWebフレームワークの中でももっともシンプルなもので、機能は少なく実装も簡単です。
・Flaskも比較的簡単に実装できて、シンプルなものなので、初学者におすすめであると言われています。
・responderも汎用的な昨日の実装が実現でき、機能もそこそこありますが、比較的新しい技術のため情報が少ないことが難点です。
・Dashはちょっと特殊で、データの可視化に特化したWebアプリケーションです。もしも、株価の変動をグラフにするようなウェブアプリを提供する場合はDashを使うと良いでしょう。
・Djangoは実装も難しいですが、機能はもっとも充実しています。最近は日本語のドキュメントも豊富にあるので、学習も比較的しやすいでしょう。
Djangoの学習方法
Djangoを普及させることに情熱を持っている方が、大変分かりやすい学習サイトを提供してくれています。
公式ドキュメントで理解を深めることは王道でしょう。
次に紹介するDjango Girlsは大変分かりやすく人気のチュートリアルです。
以上は無料でDjangoが学べる素晴らしいサイトです。ぜひ活用してみてください。