EY-Office ブログ

あなたがReactを採用すべき5つの理由

おかげさまで、最近 React の教育が増えています。その際にお客様に何故 React を使う事にしたのですか? と質問させて頂いています、その結果を踏まえてReactの良さを書いてみます。

Reactの良さを技術的に解説した記事はたくさんありますので、サービスの設計・構築する際のメリットを中心に上げてみました。

React

良いUI/UXを提供出来る

現在、Reactはコンシューマ向けにサービスを提供する先進的な企業のサイトで良く使われています。これらの企業では良いUI/UXを提供するために Reactを使っています。

スマフォアプリに引けを取らないような使い易く・スームーズなUI/UXをWebで提供するにはSPA(Single Page Application)しか選択肢がないでしょう。現在SPAでフロントエンドを開発するには React, Vue の2択で大規模なサイトであれば、ほぼ React になると思います。

クールなUIのフロントエンドが作れる

クールなUIのフロントエンドの作成はデザイナーの領域かもしれませんが、現在Reactは世界中で使われているので大量のクールなReact用コンポーネントがネットに公開されています。しかもReactはコンポーネント指向なので簡単に利用できます。
例えば Material-UIを使うと、デザインセンスの無いプログラマーでも今風のクールな画面が簡単に作れます。

お客様にプロトタイプを作りプレゼンする時など、クールな画面には不思議な説得力があります。

サーバー/フロントエンドの役割分担がシンプルになる

現在のWebでフロントエンドにJavaScript(AJAX)を使って無いサイトは、ほぼ無いと思います。入力欄に数文字タイプすると候補がでるような局所的な便利機能を作るのは簡単です。 しかし、操作により画面が大きく変わったりするような広範囲のAJAXサイトを作るには簡単ではありません。

どの部分をサーバーサイドのビューが担当し、どの部分をフロントエンドのJavaScriptで行うのかの分担を設計しないといけません。
いろいろな画面に大規模なAJAXがあるシステムを、メンテナンス性高くスマートに設計するのはかなり難しいです。

SPAは、画面表示・イベントの処理を全てフロントエンドで行うので、サーバー/フロントエンドの役割分担がシンプルになります。もちろんフロントエンド側は複雑になりますが、安心して下さい React はFacebookが大規模・複雑なサービスを作る為に作ったライブラリーです。

サーバーをシンプルに出来る

上の続きになりますが、表示は全てフロントエンドに任せたのでサーバー(バックエンド)はシンプルなAPIサーバーになります。さらにスマートフォンのバックエンドと共通になるメリットも得られます。

バックエンドのエンジニアの仕事は表示≒アプリからは独立するので、ビジネスロジックや性能、スケラービリティなどに集中出来るようになり、マイクロサービス化などビジネスの成長に対応しやすくなると思います。

BaaSが利用出来る

以前はWebサービスを作るにはサーバーを用意し、その上でアプリケーションを動かしました。安定したサービスを提供するにはサーバーやネットに詳しいインフラ・エンジニアとRuby on RailsのようなWebアプリケーションのプログラマーが必用でした。

しかし、現在ではサーバーのかわりに Firebase のような BaaS (Backend as a service) を使う事でインフラ・エンジニアは不要になります。また Webアプリケーションの知識が少なくても、Reactを使ってフロントエンドが作れればサービスが開始できます。

インフラやサーバーサイドのエンジニアがいないスタートアップ企業でも、最初はReact(またはスマフォ)+BaaSでスタートし、サービス(企業規模)の拡大にともないエンジニアを増強し、 PaaS や IaaS へ移行して行けるようになります。

まとめ

Reactを含むSPAは新しいアーキテクチャとして優れています、詳細は前回のSPAの位置付け、ITシステムの変化は螺旋形 を参照して下さい。

Reactの欠点は、導入時の学習コストの高さだと思いますが、そこは EY-Officeにお任せ下さい。導入を躊躇している方も 気軽に お問い合わせ 下さい。

- about -

EY-Office代表取締役
・プログラマー
吉田裕美の
開発者向けブログ