質問: 現在、とあるWeb会員システム(BtoC)のフロント側をリニューアルしようと思っています。 最近では、AngularやReact、ionic、VueJsなど色々あるようですが、 求める要件(条件)が以下の場合、オススメのフロントはどれでしょうか? ・バックエンド側はPHP7で構築済み(独自フレームワークでREST APIに対応) ・双方向データバインドであること ・デザイナーとの分業がしやすいこと ・対応ブラウザはChrome、Edge, Firefox, iOSのSafari, AndroidのChrome ・SPAが作りやすいこと ・少数での開発がしやすいこと ・学習コストは問わない ・開発者を探しやすいこと ・クライアントの端末性能で描画が重くなるとしても、他と比べて極端に遅くならないもの ・他のフレームワークとの共存は考慮しない ・SEOは考慮しない ・オフライン対応しやすいこと(できれば) 上から順に考慮したいポイントとなっています。 色々ご意見をお聞かせください。 追記 ※みなさんご回答ありがとうございます。 1点補足があり、探しているフレームワークは4つに限定はしていません。 例えばExtJSというのもあり、みなさんがご存知の中からオススメを頂きたく思います。 正確なものではなく主観で構いません。 よろしくお願いいたします。
回答: > > ・バックエンド側はPHP7で構築済み(独自フレームワークでREST APIに対応) > > > とのことですが、 `GraphQL + (Apollo) + React`が良いと思います。 > > ・バックエンド側はPHP7で構築済み(独自フレームワークでREST APIに対応) > > > しっかりRestfulになっていれば、GraphQLとの併用は楽だと思います。 > > ・双方向データバインドであること > > > React単方向ですが、双方向のコードよりメンテがしやすいです。 > > ・デザイナーとの分業がしやすいこと > > > どこまで分業するかによります。CSSがエンジニアならReactで良いと思いますが、そうでないなら、デザイナのスキル次第になります。 > > ・対応ブラウザはChrome、Edge, Firefox, iOSのSafari, AndroidのChrome > > > 対応しています > > ・SPAが作りやすいこと > > > GraphQLのコード補完が最高ですね。 > > ・少数での開発がしやすいこと > > > 一人でも開発できると思います。 > > ・学習コストは問わない > > > GraphQLのキャッチアップはそれなりにかかるかと思います。 クライアント含めて > > ・開発者を探しやすいこと > > > サーバー、フロントエンド触れる人であれば、経験なくてもできそうな気がします。 > > ・クライアントの端末性能で描画が重くなるとしても、他と比べて極端に遅くならないもの > > > 作り次第ですね > > ・オフライン対応しやすいこと(できれば) > > > Apollo使えば、キャッシングできるので、管理が楽です。 各ライブラリは使い方次第ですが、一応経験的な部分も含めて #### Angular ドキュメントがしっかりしているので、みんなでAngularやりましょうって感じであれば良いと思います。 #### React 少数精鋭でやるならベストな選択になるかと思います。 ただし、デザイナ任せやエンジニア任せな意識があると結構大変だと思います。 ※ フレームワークではないです。その分だけブラックボックスがなく、柔軟性があります。 #### Vue 単一ファイルコンポーネントで開発すれば、デザイナとフロントエンドの分業はかなり楽になるはずです。 Nuxt使えば、更にSPAにも対応しやすくなります。