Python

【Python】でWebアプリをがっつりやるならDjango一択な4つの理由【初心者向け】

最近とある業界の『web予約サービス』をつくろうということになりまして、

いろいろと考えた結果、

アオキ
『Django(ジャンゴ)+Vue.js(ビュージェイエス)』でいこう!

っとなりましたので、

これからしばらくは、

  • サーバー側は『Django(ジャンゴ)』
  • ブラウザ側は『Vue.js(ビュージェイエス)』

関連の記事が増えていきそうな気がしております。

Django(ジャンゴ)・・Python(パイソン)で使えるwebフレームワーク
Vue.js(ビュージェイエス)・・JavaScript( ジャバスクリプト)のフレームワーク

Sponsored link

PythonでWebアプリならDjangoな理由1 機能たっぷり

Python(パイソン)のフレームワーク(便利な道具箱の詰め合わせ)といえば、

  • Django(ジャンゴ) ・・弁当で例えれば幕の内弁当(豪華版)
  • Flask(フラスク) ・・のり弁?(シンプルで使いやすい)

と他にも『Bottle(ボトル)』などあるのですが、

一番機能がたっぷり詰め込まれているのが『Django(ジャンゴ)』と言われています。

『Django(ジャンゴ)』でつくられている有名なサイトといえば、

  • Youtube
  • Dropbox
  • Google
  • インスタグラム
  • Spotify(音楽ストリーミングサービス)
  • Reddit(アメリカ最大のソーシャルニュースサイト)
  • YahooMap
  • Pinterest(画像シェアサービス)
  • ワシントンポスト
  • NASA
  • Prezi (クラウド上のパワーポイントのようなサービス)

などなど、海外発の超有名サービスで多く使われています。

これらのWebサイトの多くに、

  • コメントを追加できる
  • 写真・記事・動画を投稿できる
  • 会員ログイン機能がある
  • シェアする機能がある
  • 友人にメッセージできる
  • 管理画面で設定ができる

といった機能が盛り込まれています。

それらの機能を個人が一からつくるとそれはそれは大変な手間がかかり、

かつ間違うリスクも、セキュリティが十分じゃないという危険もあり、

天才A
Webサイトでよく使う機能をまとめよう。
天才B
セキュリティもできるだけ備えておこう。

と世界中の天才たちが知恵を出し合った結果が『フレームワーク』であり、『Django(ジャンゴ)』なのです。

Djangoの機能は盛りだくさん。

  • 管理画面
  • ユーザー認証
  • 開発用サーバー
  • ORM(データベースと簡単にやりとりできる)
  • キャッシュシステム(情報残して高速に表示)
  • テンプレートエンジン(簡単にWeb画面が書ける)
  • セッション(キャッシュより詳細な情報を一時保存できる)
  • 管理コマンド
  • ユニットテストフレームワーク
  • プロジェクトテンプレート(コマンド1つで簡単作成)
  • フォームウィジェット(よく使うフォームは簡単作成)
  • URLディスパッチャー(URLの切り替え機能)
  • ストレージシステム(データベースとの接続かな?)
  • セキュリティミドルウェア
  • フラッシュメッセージ配信(一時的なお知らせ(パスワード間違ってるよとか))
  • 国際化(これが欲しかった・・!)
  • メール送信フレームワーク
  • 他にもあるよ

さらに、『Django(ジャンゴ)』だけでたりない機能は、

第3者(専門用語でサードパーティー)がつくった便利道具も盛りだくさん。

  • django-debugbar(うまく動かない時に原因をわかりやすくする)
  • django-restframework(これまたすごい機能・・!)

他にもブログ作成機能だったりショッピングカート機能だったり、とにかく盛りだくさん。

アオキ
正直もっと早く知っていればよかった・・・

と思えるほどの盛りだくさんなラインナップなわけです。

PythonでWebアプリならDjangoな理由2 めっさわかりやすい

『Python(パイソン)』は一度やってみるとわかるんですが、とにかくわかりやすい。

ほとんど英単語だけでなりたってるんじゃないかというくらいシンプルな文法で、

さらに強制的にインデント(段落)をつけないと動かないという仕様のため、

誰が書いても見やすいような仕組みになっています。

そんな『Python(パイソン)』で書かれている『Django(ジャンゴ)』もまたとにかく見やすい。

個人的に、これまでPHPのフレームワーク『Laravel(ララベル)』を触っていた事もあって、

『Django(ジャンゴ)』の把握がしやすいというのもあるのですが、それにしたって『Django(ジャンゴ)』は見やすい。

アオキ
あぁ、もっと早く知っておけばよかったよ・・
Sponsored link

PythonでWebアプリならDjangoな理由3 ライブラリがめっさ豊富

『Django(ジャンゴ)』の機能と、第3者(サードパーティー)の機能に加えて、

近年の人工知能ブームや機械学習の火付け役でもある、

『Python(パイソン)』のライブラリ(便利箱)がそのまま使えちゃいます。

  • Numpy(ナンピー)・・C++で書かれている超高速な計算ツール
  • Pandas(パンダス)・・いろんな計算をゴリゴリやっちゃう
  • matplotlib(マットプロットリブ)・・いい感じにグラフ描画できる
  • BeautifulSoup(ビューティフルスープ)・・Web情報の抽出ならおまかせ

などなど、他にも大量の『Python(パイソン)』ライブラリが存在してして、

天才たちがつくりだした便利箱をくっつけてちょっと調整するだけで

高機能なWebサイトが短時間でつくれるとなれば、そりゃあ人気出るよねってもんです。

知れば知るほど、なんで日本では認知度が低いんだろうかと不思議になってくるくらいです。

アオキ
あぁ、もっと早く・・(略

PythonでWebアプリならDjangoな理由4 なんとなく格好いい

えぇ、完全なイメージなんですけどね。

『Python(パイソン)』って本当にいろんな事ができるんですが、

不思議と難しいイメージを持たれている人が多いみたいで。

もちろん人工知能や機械学習となれば、高校・大学レベルの数学の知識が必要になるんですが、

  • 微分積分
  • 線形代数
  • 行列
  • その他難しい計算が盛りだくさん

Webサービスをつくるだけなら、そこまで高度な知識がなくても、とにかくググって試すを繰り返していくと自然とできあがるという印象です。

アオキ
いやぁ、フレームワークって、素晴らしいですね。

PythonでWebアプリなDjangoの注意点

いいことばっかり書いてましたが、
『Django(ジャンゴ)』のデメリットももちろんあるので、まとめてご紹介。

  • ある程度Pythonの知識が必要
  • フレームワークの仕組みを覚える必要あり
  • レンタルサーバーではだいたい動かない(HerokuやVPSが必要)
  • 日本語の情報はちょっと少ない
  • Go言語などに比べると遅いと言われている(作り方次第)

などかなと思いますが、

それを補ってでも、

世界で大人気な『Python(パイソン)』の機能をたっぷりと使える事はメリットかなと思っています。

Sponsored link

PythonでWebアプリなDjangoを練習するならこのサイト

いざ『Django(ジャンゴ)』をやってみようと思ったら、まずはこの2つのサイトがおすすめかなと思います。

特にDjangoジャンゴガールズは、『Django(ジャンゴ)』やっている人は必ずと言っていいほど通る有名なチュートリアルのようです。

アオキ
ガールズって言ってるけど女の子の要素まったくないことは触れちゃいけないみたい・・

Djangoガールズに合わせて『Django(ジャンゴ)』をちょっとだけ補足すると、

Djangoガールズの中に、こういったフォルダ構成の説明がでてきます。

フレームワークの特徴として、ある程度ファイルの名前や場所、フォルダの名前は場所が決まっている事があり、

場所や名前を変えただけだと動かない(別途設定ファイルの書き換えが必要だったり。ものによってはとても面倒だったり)

となってしまうので、

最初のうちはフォルダ構成を間違えないようにしながら、

ちょっとずつメモでもとりながら進めていけばいいのかなと思います。

PHPの『Laravel(ララベル)』を独学した時も思い返せば、

最初のうちは、状況にもよると思いますが、

なんとなくわかるまで2週間〜1ヶ月くらいかかるんじゃないかと思うので、

厚めの本を一冊読むくらいの感覚で、

実際にコマンドを打ちながら真似してみるのが一番上達する方法なんじゃないかなと思います。

アオキ
読んでるだけじゃどうしても忘れちゃうんですよね。
アオキ
読んで、書いて、メモして、まとめて、再度書いて、を繰り返すのがベストかと。
アオキ
急がば回れですね。

最後に

Web業界というのは、iPhoneが発売された頃から加速度的に進化していて、

どんどん新しい技術がでてきていますので、

新しい事やわからない事でも楽しんで習得できる人が

これからますます重宝されるのではと思います。

その頭の体操としても、『Django(ジャンゴ)』はいい選択肢の一つかもしれませんね。

アオキ
『Django(ジャンゴ)』でがっつりWebサービスつくったるどー
Sponsored link

関連記事

  1. Python

    【Python】Flaskのチュートリアルがもっとわかるようになるまとめ【初心者向け】

    『Python(パイソン)』をホームページやウェブサイトとして表示させ…

  2. HTML/CSS

    パソコンでホームページをつくる5つの方法とサーバー4種類をまとめてみました【初心者向け】

    子供向け無料プログラミング寺子屋『CoderDojo熊本』第1回のアン…

  3. Python

    Python(パイソン)でできる事の実例 じゃらんや楽天トラベルからデータをとってゴニョゴニョできち…

    子ども向け無料プログラミング寺子屋『CoderDojo熊本』に参加され…

  4. Laravel

    【Vue.js/Laravel】Webアプリ実践記 37歳おっさんが独学でVue.js+Larave…

    本業Webマーケッターと育児をしながら独学でwebアプリをつくってみる…

  5. Python

    【Django】Webアプリのフォルダ構成のアイデア〜違うアプリで同じテーブルを使いたい!

    とある業界の予約システムをつくることになりまして、ログイン周りとラ…

Sponsored link

最近の記事

Sponsored link
  1. Laravel

    【Django】【Laravel】【RubyOnRails】を比較してみた【初心…
  2. docker初心者向けdocker-composeからやったほうがいいかもよ

    ツール

    【Docker】初心者はdocker-composeから始めた方がいいかもしれな…
  3. IoT

    【Arduino】ラジコンをつくってみた 〜今ドキのプログラミングの覚え方
  4. 検索システム

    新しいホテルを探すサービスをつくってみました【楽天トラベルAPI】【条件付】
  5. 検索システム

    バリアフリーなホテル のページをオープンしました。
PAGE TOP