2019-01-07この記事では、僕と同じような独学でPythonを学習している方向けに、便利なWEBフレームワークであるFlaskの学習方法についてまとめます。Flaskとは、Pythonの便利なフレームワークです。Flaskは、Djangoのようなフルスタックフレームワークとは異なる、シンプルなフレームワークです。非常にシンプルで学習しやすい一方で、中規模のWEBサービスも運用可能なポテンシャルがあり、Flaskの案件もあるくらいです。初心者でも使いやすく、使っていて楽しいので、僕の最も好きなフレームワークの1つです。僕は、独学でプログラミングを学び、いくつかFlaskを使ったアプリケーションを作ってきました。このLINEBotもFlaskを使ってます。布団を干していた時、雨に気づかずびしょびしょになってしまった...。そんな失敗から、雨が降る少し前にLINEで教えてくれるBotをつくりました!雨が降る前と晴れる前にかえるが教えてくれます。2018年12月6日このように、WEBアプリだけでなく、チャットボット、データ分析など幅広いアプリケーションをつくることができるFlaskは、開発の入門として非常におすすめです。Flaskに関しては、Railsなどと異なり、体系的にまとめられた教材が少ないのが現状です。ネット上にはリソースは溢れているのですが、全くの初心者が一から探していくのは非常に大変だと思います。今回は、僕が独学でFlaskを学ぶ中で実際に参考にしたサイトなどを、目的別に紹介していきます。スポンサーリンクもくじ環境構築Flaskを動かしてみるアプリケーションを公開するオリジナルのアプリケーションをつくるまとめ環境構築どんな目的でFlaskを使うにせよ、必要なのは環境構築です。いえ、Flaskの環境構築は非常に簡単です。RubyonRailsのように苦労することは一切ありません。Flaskの環境構築は、Pythonさえ入っていればほとんど完了しているようなものなのです。初心者であっても、PythonがインストールされているPCと、Progateなどで学べる最低限の知識さえあれば、誰でも簡単にFlask開発を始められます。Pythonの知識に不安がある方は、こちらの教材がおすすめです。実際に僕も初めに使った教材です。入門ノートさて、Flaskの環境構築に関しては、下の記事などを参考にするといいです。基本的には、pipでFlaskをインストールすれば完了です。Flaskを始めようPythonとFlaskでWebサーバを立ち上げるちなみにこちらは以前僕が書いた記事なので、よければ参考にしてください。AnacondaでPythonの開発環境をつくるさて、無事に環境構築ができたら、次はさっそくアプリケーションを動かしてみましょう。Flaskを動かしてみる今度は、実際にFlaskを動かすところを学んでいきます。Flaskは、日本語化もされている公式のチュートリアルが充実しているので、基本的にはFlaskチュートリアルに沿って進めていけば、シンプルなアプリケーションをつくれるところまで到達できると思います。いえ、僕のような飽き性な人間には、中々チュートリアル一本やり通すのは難しいものです。そんな場合は、もっと簡単なHelloWorldアプリから始めるのがいいでしょう。僕も初め、チュートリアルでいきなり挫折しました。独学で一番大切なのは、いかに挫折しないよう勉強を続けられれる工夫をするかなので、できるだけ簡単なプログラムから組んでいくのがいいと思います。Flaskのテンプレートビューを使って画面に実行結果を表示させるアプリケーションを公開する実は、Flaskで作ったアプリケーションは、そのままでは自分のPCからしか見ることができません。インターネット上にアプリケーションを公開するには、公開するためのサーバーを用意して、デプロイする必要があります。アプリケーションをつくるためにはプログラミングだけ学べばいいと思ってませんでしたか?僕もそうでした。一本のアプリケーションを公開するためには、フロントエンド・バックエンド・サーバー・ネットワーク・セキュリティ...etcと膨大な知識が必要になります。それを聞いてどう思いましたか?わくわくした方、エンジニアに向いてると思います。一緒に学んでいきましょう!さて、話がそれましたが、アプリケーションを公開するためにデプロイを行いましょう。ぶっちゃけ、これがめちゃめちゃ難しいです。入門書などにも書かれてないことが多いです。僕は初めてのデプロイの際には、理解できないエラーが頻発して3日間以上何も進みませんでした。僕が実際にデプロイした際に使った教材を紹介しておきますが、すんなり上手くはいかないことだけは覚悟しておいてください。一発で成功した方がいたら、きっと天才の部類だと思うので、ぜひ日本のIT業界を支える人材になってほしいですね。・Udemyの動画プログラミング初心者でも安心、Python/Django入門講座この動画はDjangoでの開発の教材ですが、後半にデプロイについて丁寧に解説されているのでおすすめ。・チュートリアルアプリを公開するDjangoGirlsのチュートリアルチュートリアルでも、デプロイについて書かれてます。難しいので、これだけでいきなりデプロイはハードルが高かったです。非常に参考になります。HTTPS通信まで完成Heroku初心者がFlaskを使った簡素なアプリケーションをデプロイするまで!デプロイに関しては探せばいくらでも出てきます。環境によって微妙に違う部分があり、完全にマネても上手くいかない場合があるのが辛いところですが、諦めずにチャレンジしていけばいずれ成功します。オリジナルのアプリケーションをつくる開発環境の構築ができて、チュートリアルなどを終えたら、あとは自分のオリジナルアプリケーションをつくりたくなるのではないかと思います。オリジナルアプリの開発は大変ですが、とても楽しいです。つくればつくるほどプログラミングが好きになっていくのを感じます。チャレンジしてみてください。おすすめはAPIを利用することです。高度な機能を1人で0からつくるのは、上級者であってもとても困難だからです。APIを使えば、初心者でもあっという間にアプリをつくれるようになります。こちらは、僕がLINEのAPIを使って、BOTアプリを初めて作った際に書いた記事です。Python初心者がたったの3日間でチャットボットを作った【0日目】Python初心者がたったの3日間でチャットボットを作った【1日目】Python初心者がたったの3日間でチャットボットを作った【2日目】Python初心者がたったの3日間でチャットボットを作った【3日目】TwitterAPIを使えばTwitterアカウントを操作できるアプリケーションなんかもつくれます。Twitterで自動ふぁぼ、認証機能を実装してWEBアプリ化!他にも、気象情報を取得できたり、株価を取得できたりと、便利なAPIがたくさんありますので、ぜひ自分のつくりたいアプリケーションに使えそうなAPIがないか探してみるといいと思います。まとめいかがでしたか?初心者が独学でプログラミングを学んでいくのはなかなか大変なことではありますが、幸いなことに今は安価で良質な教材が手に入る時代です。自分だけのアプリケーション制作にチャレンジしてみてください。コメントをキャンセルメールアドレスが公開されることはありません。千葉県を中心にボランティア活動や勉強会などを行っています。好きな言語はC#とPythonとC++です。関係の技術が好きです。XamarinとかTypeScriptも触ってます。質問・相談・お仕事のご依頼は、Twitterまたは問い合わせフォームまで。今月の人気記事1一年間プログラミングを独学した過程を振り返ってわかったこと。