なぜ Python(Django) + Vue.js?
Djangoはフルスタックのフレームワークですが、今回の開発の利用範囲はApiサーバとして利用します。
昨年作ったパソコンショップの見積もりサイトのLaravel+Vue.jsを元にPython化を考えています。
この見積もりサイト同様にフロントエンドとバックエンドは独立したものにする予定です。
普通ならDjangoですべて完結したシステムを開発することを目標にすることが多いと思いますが、Vue.jsやReact、AnglerなどJavascriptのフレームワークが出て以来、フロントはVue.jsなどのインタラクティブ性の高いシステムで作成し、バックエンドはPhp(Laravel,Symfony)やRuby(RubyOnRails)、Python(Django,Flask)など、使いやすければどれでもいいじゃん!と考えています。>>いまGoLangが理想的かもしれないと密かに思っています(^w^)
ユーザーが利用するフロントエンドと裏側のサーバで動くバックエンドのシステムを一致させる必要は無いと考えています。
むしろフロントエンドがバックエンド上に構築されると将来の足かせになると考えています。フロントエンドがバックエンドの影響を受けるのは間違っていると思っているからです。
PhpのLaravelは標準でVue.jsに対応しており、フロントはVue.js、バックエンドはLaravelという環境がすぐに構築できますが、コレも少し違うと思っています。なぜならVue.jsがこれからずっと開発の一線で戦っていけるかというと、それはまだわからないからです。
なので、バックエンドとフロントエンドはともに依存しあわないもので開発したいと考えます。
それならいっそフロントエンドはUIに優れたフロントに最適なシステムを選び、
バックエンドはJsonを返却するだけのシンプルなシステムの方がこの先長く運用できると私は考えます。
もし、Djangoよりももっと簡単でもっとレスポンスの速いフレームが利用できるなら乗り換えればいいのです。
バックエンドは処理スピードが速く、正しい結果さえ返せれば言語やフレームワークに縛られる必要はないのです。
反対にフロントエンドは大量のデータを高速に処理できるものや、0.1秒を争うよな効率化よりもUIに優れ、利用者が迷うことなく使いやすいものが理想です。そう考えると、今一番理想に近いのはVue.jsではないかと思っています。また、デバイスがどんどん増えていく中でVue.js+CordvaやReactNativeなどはアプリ化することもできます。
今ではWeb+アプリが手軽に作れるようになってきています。そういう面でもフロントエンドとバックエンドはそれぞれ独立したシステムが理想になってきていると感じています。
コメント