最終更新日:2021/02/26

≪本気でPython、AIを学びたい人におすすめのプログラミングスクール・サイト≫
【第1位】TechAcademy:最安値でオンライン学習したい方向け
【第2位】キカガク:最大70%!給付金をもらってAI人材を目指したい方向け
【第3位】Aidemy:Python特化型AI学習したい方向け
【第4位】CodeCamp:完全オンライン・マンツーマンレッスンで学習したい方向け
【第5位】PyQ:メンターなし、ブラウザのみで学習したい人向け

【TechAcademy】コスパ良くAIを学びたいならここ!
¥149,000から機械学習やデータサイエンスを学べる!Pythonを使ったAIや統計学に興味がある方必見!

【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

【CodeCamp】お手頃価格でAIが学べる!
わずか¥148,000+入会金¥30,000で学べるスクール。面倒な単純作業をPythonにやらせたい!という方必見のスクール!

こんにちは、DAIです。

PythonでWebアプリを作ってみたい方も多いと思います。しかし、「そもそもWebアプリって何?」ということがわからなかったり、「どうしたらアプリって作れるの?」ってレベルでよくわからない方もいらっしゃると思います。こういう「何を学べばちゃんとWeb上にアプリケーションをアップロード(ディプロイ)できるか」という情報は、ネット上で探すのは難しいですね。

そこで今回は、PythonでWebアプリ開発を行う上での学習ルートと、おすすめの学習教材についてまとめてみたいと思います。

そもそもWebアプリとは?

Webアプリとはそもそもなんでしょうか。Wikipediaによると、以下のように解説されています。

ウェブアプリケーション(Web application)は、インターネット(もしくはイントラネット)などのネットワークを介して使用するアプリケーションソフトウェアである。多くの場合、これらのアプリケーションは、Webブラウザ上で動作するプログラミング言語(たとえばJavaScript)によるプログラムとWebサーバ側のプログラムが協調することによって動作し、ユーザはそれをWebブラウザ上で使用する。

これだけだと、よくわかりません。そこで、簡単にWebアプリの構造を見てみたいと思います。

Webアプリの見た目を表す「フロントエンド」とは

フロントエンドとは、ユーザーから見たときのWebページの見た目の部分を指します。

フロントエンド(front-end)とは、ユーザーと直接データのやり取りを行う要素のことで、Web制作ではWebブラウザ側(クライアント側)を指します。

https://www.internetacademy.jp/it/programming/javascript.html

フロントエンドの部分を学ぶだけで、企業のホームページのようなものを作ることができるようになります。

フロントエンドの部分は、

  • HTML
  • CSS
  • JavaScript

という言語によって書かれています。

順におって説明してみましょう。

 

Webアプリの文字を記述するHTMLとは

HTMLとは、Webページの文章や、リンクなどを設定する言語となります。たとえば、僕がこのページに「Googleへアクセス」というリンクを張る場合、HTMLで書くとこのようになります。

<a href="https://www.google.com">Googleへアクセス</a>

ほかにもただの文章を書く場合は、このようになります。

<p>たたの文章を書く場合は、このようにpタグで書こうとHTML上で書くことができます</p>

つまり、HTMLとは簡単にいうと、Webページの内容を直接記入する言語なのです。

例えば、グーグルのホームページにアクセスして、右クリック→要素の検証 をクリックすると、実際にGoogleのページがHTMLで記述されていることがわかります。

HTMLの配置や色を決定するCSSとは

CSSは、HTMLを装飾する言語です。例えば、さきほどHTMLで以下のような文を作成しました。

<p>たたの文章を書く場合は、このようにpタグで書こうとHTML上で書くことができます</p>

この文章を、赤色に変えたいという場合は、CSSで書くとこのようになります。

p {color:red;}

また、背景色を黒にしたい場合は、CSSで書くとこのようになります。

p {color:red; background-color:black}

このように、CSSはHTMLを修飾する言語になるわけですね。

Webアプリの見た目に動きを付けるJavaScriptとは

JavaScriptは、HTMLやCSSに動きを付ける言語となります(※本当はもっといろいろなことができます)

たとえば、先ほど書いた分をクリックしたときに、その文書を赤色にするみたいなこともすることができます。

また、JavaScriptのフレームワークである、jQueryを利用すると、JavaScriptで普段書くようなまとまったことを簡単に書くことができます。

Webアプリの裏側のロジックを動かすバックエンドとは

バックエンドとは、フロントエンドから送られてきた情報をもとに、データベースやAPIなどの情報と連携して、フロントエンドに情報を返す部分を指します。
ユーザーから見えない後ろの部分だから、バックエンドです。ちなみに、サーバーサイドとも呼ばれます。今回紹介しているPythonも、このサーバーサイド言語のひとつとなります。

例えば、フロントエンドのHTMLで書かれた、Webアプリでログインをするフォームを見たことがあると思います。

フロントエンドで作られたHTMLのページから、こんな感じのフォームを入力したとしましょう。

送信をクリックすると、サーバーサイドではフロントエンドのUIの部分から、名前やパスワードをPythonで受け取ります。そしてバックエンドであるPythonでアルゴリズムをもちいて、そのデータをどうするのか決定します。よくあるログインの認証の部分であれば、その名前とパスワードをデータベースに送って、その名前がすでにあるかどうかチェックするわけです。それであるようであれば、データを返し、ログインを許可するわけですね。

Webアプリの裏側、バックエンド(サーバーサイド)の言語とは

それでは、バックエンドの言語とは何かを見ていきましょう。

Ruby, PHP

今回は特にPythonについて説明したいので、ほかの言語については一気に説明します。

RubyPHPも、サーバーサイドの言語です。どちらもログインしたときの処理などを書いたりすることができます。

また、ログインするときの処理をゼロから書こうとするとかなり時間がかかります。そういう場合は、各言語でフレームワークを利用することになります。

たとえば、RubyであればRuby on RailsPHPであればLaravelなどの言語もおすすめなどがあります。

基本的に、Webアプリケーションを開発する場合は、どの言語でもWebフレームワークを利用して開発することになります。

PythonとPythonのWebフレームワーク:FlaskとDjango

さて、Pythonも同様にサーバーサイドの言語です。フレームワークとして有名なのは、DjangoFlaskです。

Django

DjangoはInstagramも利用している、ウェブフレームワークとなります。Djangoについてはこちらのスライドショーが非常に詳しいので参考になりそうです。

Flask

FlaskもPythonのWebフレームワークです。過去記事ですが、簡単にFlaskを解説すると、必要最低限の機能を持ったマイクロフレームワークと呼ばれています。

Flaskは、ウェブアプリケーションフレームワークの中でも、マイクロフレームワークとなっています。これは、標準で提供している機能が本当に最小限になっていることに起因します。

Djangoと比較すると、以下のような特徴があります。

  • 軽い
  • カスタマイズ性が高い
  • Hello Worldまでが早い
PythonのWebフレームワーク Flaskについて初心者向けにまとめてみた

 

各サーバーサイドの言語と、それぞれのフレームワークを比較するとこうなります。

言語 フレームワーク
Python Django, Flask
Ruby Ruby on Rails
PHP Laravel

なぜPythonでWebアプリを開発するべきなのか?

さてさて、各言語ごとに見た目の部分のフロントエンドと、内部のロジックのバックエンドがあることがわかりました。そして、どの言語でもWebアプリを作れることがわかりました。
さて、その場合はなぜPythonでWebアプリを作るべきなのでしょうか。

一つは、Pythonは、いま機械学習やブロックチェーン等の最先端技術のライブラリの開発が進んでいるので、Pythonでは存在する便利なライブラリを使ってWebアプリを作れるのが、PythonでWebアプリを作る一つの理由になるかと思います。

例えば、ディープラーニングを利用したWebアプリケーションを作ってみたい!という場合、PHPやRubyなどのコードを利用するのは少し難しいです。しかし、Pythonを利用すればそのような心配は一切ありません。

もう一つは、Pythonが初学者にも非常に書きやすいコードだからです。ほかのJavaやC#などと比べると、型を意識しなくてもサクッと書きやすいので、初学者が挫折しないでアプリを作るには非常に適したプログラミング言語であるといえます。

PythonでWebアプリケーションを作るためのおすすめの学習ルート

さてさて、長くなりましたが、ここまででWebアプリがどんな技術で創られているのかを学べたかと思います。

PythonでWebアプリを作るための学習ルートをまとめてみようかと思います。

言語 どこで学ぶか
HTML Progate , ドットインストール
CSS Progate, ドットインストール
JavaScript Progate, ドットインストール
Python Progate/Aidemy
Python > Flask Udemy / Aidemy Premium

HTML & CSS

まず、HTML、CSSに関しては間違いなくProgateで学ぶとよいと思います。Progateは初心者に圧倒的に優しいサイトです。

ProgateのHTML & CSSのコースで、

  • HTML & CSS 初級編
  • HTML & CSS 中級編
  • HTML & CSS 上級編
  • 道場コース X 2

は必ずクリアしておきましょう!

【Progate】はじめてプログラミングを学ぶならココ!
プログラミングの基礎を無料で学べるWebサービス。未経験エンジニアが最初に使うサービスとして人気。

もしProgateでも物足りない場合は、ドットインストールもよいと思いますが、まずは自分の頭で書いて覚えることが大事です。Progate一つで十分かと思いますが、動画のほうが合う!という場合はドットインストールでもよいと思います。

JavaScript

JavaScriptに関しても同様にProgate一択でよいと思います。

ProgateのES6版を学べば、一通り学習できるはずです。

【Progate】はじめてプログラミングを学ぶならココ!
プログラミングの基礎を無料で学べるWebサービス。未経験エンジニアが最初に使うサービスとして人気。

Python

Pythonの基礎に関してはも同様にProgateで学習するのがよいと思います。

Progateの以下のすべてのPythonコースをクリアしておくと、Pythonの基礎がわかるかと思います。

  • Python 1
  • Python 2
  • Python 3
  • Python 4
  • Python 5

また、Webアプリを作るうえでどうしてもクラスなどの概念がわかっておく必要があるので、その場合はキカガクやAidemyなどの学習サービスを利用することがお勧めです。

キカガク

キカガク公式:
https://www.kikagaku.ai/

【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!

キカガクは、給付金をもらってお得に学習しながらAI人材を目指すことができる、完全オンラインのプログラミングスクールです。

DAI
特に、経済産業省が定めるReスキル、JDLAのE資格の認定講座などを受講できるため、キャリアアップを目指す方は必見ですね。

コースの特徴

オンライン動画学習サービス、Udemyでも絶賛された高品質の学習コンテンツ

キカガクの講座は、Udemyでも高い評価を得ており、1つのコースで35,000人以上が受講している講座もあります。

実際、受講した方の生の声を見てみても、非常にポジティブなものばかりでした。(受講された方のレビューはこちらから)

DAI
キカガクは大手企業の研修だけでなく、個人向けの講座でも高い評価を得ているのが分かりますね。

※また、キカガクは一度スクールに申し込むと、全ての講座を無期限で受講することができるのでかなりお得です。

実際の講座を受講前に体験することができる

キカガクでは、無料体験を申し込むだけでUdemy上で高い評価を得たコースを実際に体験することができます。

受講できるコースは以下の2つで、合計20時間分の学習動画無料になります。

  • Python&機械学習入門
  • 脱ブラックボックスコース
DAI
特に、脱ブラックボックスのコースはセールなしだと15,000円もするコースなので、まずは無料で機械学習や人口知能について学んでみたい!という方にもおすすめですね。

そのため、キカガクを受講するなら以下のような方がおすすめです。

  • まずは、スクールに行く前にAIや機械学習についてもっと詳しく知りたい
  • 将来的に仕事でデータサイエンスなどに関われるようになりたい
  • お得に資格取得をして、社内で更に活躍したい

※キカガクの講座の無料体験は、3分ほどですぐに学習を始めることができます

DAI
スクールに行くほどではないけどAIや機械学習に興味があるという方は、気軽に試してみるのがおすすめです。

【キカガク】最大70%OFF!給付金をもらってAI人材を目指すなら!
日本マイクロソフト株式会社との共同開発講座を受講可能。経済産業省が定めるReスキル、JDLAのE資格の認定講座受けるならキカガク!

Aidemy

Aidemy(公式):
https://premium.aidemy.net/

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

Aidemyは、東大発の完全にAIに特化したプログラミングスクールです。

東証一部上場企業のAI研修なども行っている、日本最大級のAI教育サービスを提供しています。

AIを本格的に学べるプログラミングスクールの中では最もハイレベルでしっかりしたスクールです。

そのAidemyがAIエンジニアを育成するために提供しているのが、Aidemyのプログラミングスクールのサービスです。

Aidemyが提供しているAI系のコースには以下のようなものなどがあります。

  • データ分析コース
  • 自然言語処理コース
  • AIアプリ開発コース
  • LINE チャットボット開発コース
  • AIマーケティングコース

Aidemyを受講するなら、以下のような希望の方にオススメです。

  • ある程度Web系のプログラミングを学んでいる
  • AIについて本格的に仕事にしたいと思っている

実際に、AidemyはRettyのデータを分析した結果を成果として出すと、Rettyで一次面接突破できるという就職先紹介制度があり、それだけ実務でも通用する能力があることを信頼されているサービスです。

Aidemyでは無料カウンセリングをやっているみたいなので、ぜひ受けてみるのがよいかと思います。

Aidemy(公式):
https://premium.aidemy.net/

【Aidemy】人工知能特化型スクールに行きたいなら!
現役データサイエンティストから、現場で使われる知識を学ぶことが可能。大手上場企業の研修でも使われている高品質な学習をあなたに。

PythonのFlaskで、ゼロからWebアプリを作るときの学習ルート

Flaskを学ぶには、Flaskの公式が出している、Flaskチュートリアルを利用してみるのが一般的ですが、正直初心者にはあまりおすすめできません。そこで、上記の基本的なPythonの学習が終わったら、以下の学習ルートで学ぶとよいでしょう。

  • PythonでWeb APIの利用方法を学び、Twitterのデータを自動取得できるようにする
  • PythonのFlaskで、Twitterのデータを分析できるアプリを作る。

初学者でも、Twitterのデータを自動取得して、それを分析できるツールを作るチュートリアルなので、非常におすすめです!

本気でPythonでWebアプリを作ってみたい人へ

Pythonなどの言語でWebアプリを作れるプログラミングスクールに関しては、以前プログラミングスクールについてまとめた記事があるのでこちらを参考にしていただけるとと思います。

【2021年】AIが学べるプログラミングスクール4選 | 受講生の体験談あり

また、ここでご紹介したプログラミングスクールは、すべてインタビュー記事を書いておりますので、ぜひ参考にしてみてください!

関連記事