本書では、Django、Django REST フレームワーク、Vue.js を使用して、REST API バックエンドと Vue.js フロントエンドでアプリケーションを開発します。API は Axios(HTTP クライアントライブラリ)の助けで Vue.js フロントエンドで消費され、JWT 認証は Auth0 で処理されます。
プロジェクトの要件すべてをインストールしてから、Django と Vue.js をサブプロジェクトとしてブートストラップします。
これから作成するデモプロジェクトの最終ソースコードをこの GitHub レポジトリ で見つけることができます。
本書は次のセクションに分かれています。
・ Python および Django 入門
・ Vue.js および Vue.js 機能の入門
・ バックエンド プロジェクトをブートストラップする
・ フロントエンド プロジェクトをブートストラップする
・ JSON Web トークン入門
・ Django を Auth0 と統合する
・ Auth0 を Vue.js と統合する
・ 結論および次のステップ
Python および Django 入門
Python は汎用プログラミング言語で、現在最も人気の高いプログラミング言語です。読み取り可能で効率的、簡単に学べる言語です。Python は Linux、Windows、Mac などの主要オペレーティングシステムで利用可能な高移植性言語でもあります。
Python には、Web 開発者の生産性を高め、プロトタイプを瞬時に構築できる開発者にとって素晴らしい多数のツールやフレームワークがあります。Web 開発者にとって最も人気の高い Python ランドスケープは Django です。Django は開発者が瞬時にプロトコルを構築できるため、厳しい締切がある完璧主義者のフレームワーク として告知されています。
Django は Python のパワーを使って SQL の1行.を書かなくてもデータベース要件のモデルを作ることができるクラスベースのビュー、強力な ORM のような素晴らしい機能を開発者に提供します。Django ORM はデータベースで作業するときのあらゆる複雑さを取り除き、最も重要なことはクライアントが使用するデータベースシステムを決定していないときでも対応できることです。SQLite データベース(特別なインストールは必要ありません)を使って開発を始めることができ、クライアントが後で、使用する適切な RDBMS(リレーショナル データベース管理システム)を決定したときに適切なデータベースシステムに変えることができます。
Django も、後でデータベース構造を変更するときにデータを失わずにデータベースを安全に移行できる強力な移行システムが同梱されています。
Django を使用するもうひとつの強みは大きな進化するコミュニティがあることです。このコミュニティは Web 開発者たちのよくある問題を対象にしたオープンソースパッケージを作成したので、プロジェクトを構築するときに車輪を再発明する必要がありません。
Django には、コミュニティが作成したチュートリアルのセットで補足されたフレームワークのすべての機能を説明した優れた総括的なドキュメンテーションがあります。
Django は初心者にも適しており、Web アプリケーションを構築するのにフレームワークの各機能に熟練する必要はありません。
(つづく)
この続きは、以下のAuth0ブログで解説しております。
Auth0 統合認証プラットフォーム
Auth0はWebアプリやモバイル、APIなどに対して認証・認可のサービスをクラウドで提供している、いわゆるIDaaS (Identity as a Service)ベンダーです。企業がもつWebアプリケーションやAPI, Native Mobile Appなどでユーザー認証や認可、セキュリティを組み込みたいけれでも実装が難しい・・・という方にオススメのソリューションを提供しています。
Githubに様々なプラットフォーム用のサンプルソースを公開
Auth0は今回のチュートリアルで使用したサンプルプログラムをはじめ、様々なプラットフォーム・フレームワーク用のサンプルプログラムをGithubに公開しています。今回紹介したVue.js以外にも多数のフレームワーク用のソースを公開していますので、お試ししてはいかがでしょうか。
Githubリポジトリ - Auth0
実際にAuth0を利用するには
Auth0のサービスは契約をしなくとも無償で評価(フリートライアル:22日間)をすることができます。フリートライアルは、Auth0のホームページにアクセスし、画面右上のをクリックするとトライアル登録が行うことができます。ユーザー登録にはGitgubやGoogle, Microsoftアカウントを使用してサインアップすることできますので、試してみてはいかがでしょうか?