結論
個人的に Django から始められることを大変オススメしたいです。
Django と Vue.js の違い
動作する場所が違います。
Django
Django は Python のフレームワークでサーバで動作します。
Vue.js
Vue.js は JavaScript のフレームワークでクライアント(ブラウザ)で動作します。
疑義
Django でも HTML, CSS, JavaScript を配信することができます。
Djangoでフロントエンドを書くことができるようなことが書かれていた気がして、
よくわからなくなってしまった
これはできません。SPA を組む際に SSR するために BFF として Node.js が採用されていることと混同していると思われます。
vuejsでバックエンドを書くことや
キーワード: SPA, SSR, BFF, Node.js ... ググってみてください。
誤解の原因 SSR - Srever Side Rendering
Vue.js で「ブラウザに読み込まれて」、「JavaScript を実行し」、「ページを生成する」というページの構成にすると SEO 上不利になることがあるそうです。
開発はNuxtを使わず、vue-cliで作っていたので、SSR(ServerSideRendering)はできません。
月間100万人以上利用するサービスをSPAにしたあとSEOで苦戦したので、DynamicRenderingを入れた話 - teratail
これを避けるためにサーバサイドで HTML, CSS を生成させることがあるそうです。これを SSR と呼ばれているのを目にします。
おそらくこれをバックグラウドでも Vue.js が使えると混同していると思われます。
Qiita の記事や Google の公式の発表でも SSR はいらないよ!的なアナウンスはあるらしいの、ゆくゆくは影響は薄らぐと思われますが、とても大きなサービスを運用しているところは使うものと思われます。趣味ならいらないのかなと思うのですが。
React もそんなに SSR に興味がないみたいです。
React は Facebook が SSR にあまり興味が無いので、SSR 周辺のエコシステムに難があり、全てを自分で組み上げる体力が必要。ただし Suspense 周辺でその辺りもテコ入れされるかもしれない。
https://gist.github.com/mizchi/106d3c1bb8b8e5b46b45ceeeab0c348b
Django なのか
Vue.js + Firebase を組み合わせて SPA で組むことも考えられます。しかし SPA で作るのは難易度が高く挫折する可能性があります。
まず HTML + CSS + Python(Django) で Qiita のようなサイトを作り、物足りなくなったら JavaScript(Vue.js) を追加して HTML + CSS + JavaScript(Vue.js) + Python(Django) というのが、望ましいように感じます。
Django と Vue.js の連携は以下の本にあります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/01 12:06
2019/12/01 12:08