質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

528閲覧

Reactを用いるべきかどうか教えてください

mickey

総合スコア27

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

7クリップ

投稿2018/12/26 06:09

現在ジモティーのような求人・不動産・売買等が個人間でできるサイトをDjangoを用いて開発しています。現段階では完成は程遠いものの全体でみると50%程度はできあがってきたというところです。

しかし最近になってReactによるフロントエンド開発について知る機会があり非常に興味をもちました。というのもフロントエンドに関してjQueryで直接DOMをいじるという状況が生じてしまい、できればこれを避けたいと思っていた矢先、Reactを使えばjQueryを用いずにDOMをいじることなく、かつリッチな表現が可能になるということを知ったためです。

そこでいろいろと検索をかけて、今まで触れることのなかったDjango REST Frameworkも使ったAPIの作り方や、JWT、またReact+Reduxも用いた簡単な掲示板の作り方をYoutubeで見たりしていました。

しかしここでSSRについて知ってしまいました。サーバーサイドレンダリングをしない限りSEOや初期表示速度に大きな影響が出るということについてです。

Googleに関しては今はインデックスしてくれることや、そもそもSSRはしなくていい等、これについても様々な情報をチェックしました。(したつもりです。。。)

そこでみなさまに質問があります。以下の選択肢の中でどれを選択するのがベターでしょうか?

①Reactを用いずにそのまま開発して、そのまま本番で運用しながら必要があればReactに移行する。
②フロントエンドは全てReact+Reduxで開発して、SSRは必要ならばあとから対応させる。

現状で私に与えられた選択肢は上記の2つだと思います。

本音を言うと、Reactを用いて開発したいです。jQueryでゴニョゴニョするのが今まで違和感でしかなかったので。でもその場合、②のSSRについての課題が生じるわけですが、そもそもSSRをあとから導入することなんて可能ですか?Reactについてまだあまり詳しくないので詳細まではわからないのですが、SSR導入は初期段階から念頭にいれて設計するものですか?それともあとからでも導入しようと思えばできるものですか?

あともしReactを用いた開発を行うのであればバックエンドとフロントエンドは完全に分離したいので、Djangoのテンプレートやルーターを用いたハイブリッドな仕様は避けたいと思っています。

長々とすみません。言いたいことがうまくまとまっていませんがどうかご教授お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

何を優先するかによると思うので答えはないと思うので個人的な意見ですが①を勧めます。

いち早くリリースを目指しましょう。

新しい技術を覚えて、それを使って試行錯誤をやり直してとやっているとリソースがつきます(時間・お金・やる気などのことです)。
リソースが尽きる前にリリースするのが重要だと私は思います。
運用してこそ得られる知識の獲得も早くできます。リリースが遅れればその機会が失われます。

後からの変更は十分できると思います。
やりやすいように準備をしておくということはあると思いますけど。
既に認識されている通りバックエンドの部分はUIと切り離した部品にしておいた方がいいです。その部分の自動テストも書いておくと変更が必要になった際にものすごく役立ちます。

勉強は並行してできるのでやっていくのがいいと思います。
今はこう書いているけど、ここの部分はこうできるなという想像を予めしておくことですね。

投稿2018/12/27 05:01

編集2018/12/27 05:14
toydev

総合スコア297

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mickey

2018/12/27 05:18

ご回答ありがとうございます。 バックエンドとUIを切り離すということは、Django REST Framework等を用いてデータは基本的にAPIで取得するようにする、という認識で合っていますか?現時点ではViewで取得したquerysetをtemplateに直接記述しておりまして。
toydev

2018/12/27 05:43

Django自体は使ったことがないので軽く調べました。現時点ではAPI化までやる必要はないと思います。それは全体の作りにも大きく影響してしまいますよね。 Viewで特別な意味のある計算をしているのであれば、その部分をViewに直接書かずに別のクラスに分離しておくなどしておくと、APIを作る際もそれが使えます。今やるのはその程度でいいのではないかと思います。 API化はReactを導入する際にViewの置き換えとして作る形でいいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問