LogoWebマーケティングに
強くなるメディア

  • ログイン
  • 会員になる
  • ログイン
  • 会員になる

  • 総合

    • 新着
    • ランキング

    トレンドを知る

    • ノウハウ&トレンド ニュース
    • リリース ニュース
      - ferret×PR TIMES -
    • マーケター特集
      - マーケティングジャーニー -
    • マーケターのキャリアとは
      - ferret × マイナビ転職 -

    体系的に学ぶ

    • 基礎〜応用を学ぶ
      - カリキュラム -
    • コンテンツマーケティングを学ぶ
    • Googleアナリティクスガイド
    • 事例
    • セミナー
    • 資料ダウンロード
    • マーケティング用語辞典

    実践ツール

    • マーケティングオートメーション
      - ferret One -
    • 1文字0.8円〜!
      - ferret コンテンツライティング -
    • 画像1点99円〜!
      - 画像・写真の加工編集サービス -
    • ferretのノウハウを公開
      - オウンドメディア運用・構築支援 -
    • Instagram分析ツール
      - ナビスタ -

    Info

    • ferretとは
    • 運営会社
    • メンバー紹介
    • 著者一覧
    • お問い合せ
    • 広告掲載について
    • 利用規約
    • プライバシーポリシー
    • 特定商取引法に基づく表示

  • 新着
  • ランキング
  • トレンドを知る
    • ノウハウ&トレンド ニュース
    • リリース ニュース
      - ferret×PR TIMES -
    • マーケター特集
      - マーケティングジャーニー -
    • マーケターのキャリアとは
      - ferret × マイナビ転職 -
  • 体系的に学ぶ
    • 基礎〜応用を学ぶ
      - カリキュラム -
    • コンテンツマーケティングを学ぶ
    • Googleアナリティクスガイド
    • 事例
    • セミナー
    • 資料ダウンロード
    • マーケティング用語辞典
  • 実践ツール
    • マーケティングオートメーション
      - ferret One -
    • 1文字0.8円〜!
      - ferret コンテンツライティング -
    • 画像1点99円〜!
      - 画像・写真の加工編集サービス -
    • ferretのノウハウを公開
      - オウンドメディア運用・構築支援 -
    • Instagram分析ツール
      - ナビスタ -
  1. TOP
  2. ニュース
  3. jQuery学習者にReactも学習してほしい3つの理由と学習方法まとめ
  1. shares
Normal

jQuery学習者にReactも学習してほしい3つの理由と学習方法まとめ

  • Profile
  • 酒井 涼
  • 2017年2月7日
  • ニュース
  • 1,554
Profile

ライター・コラムニスト。デザインやテクノロジー、マーケティングやライフハック系の記事が得意。2016年からferretでも記事の執筆を開始。Twitterでも面白いWebサービスなどを紹介しています。よろしければそちらもチェックしてみてください。
  
>> 著者詳細はこちら

jQueryの初版が登場して10年が経ちました。

jQueryの登場により、これまでJavaScriptで書いていた複雑なコードがよりシンプルになりました。CSS操作やDOM操作、Ajaxなどの拡張性も非常に便利なものでした。

時が経つにつれ、さまざまな特徴を持ったJavaScriptライブラリ・JavaScriptフレームワークが登場し、jQeuryに触れることなく大規模なアプリケーション開発をすることも珍しいことではなくなりました。

そうした中、昨今注目されているのがReact.js(React)です。

今回は、jQueryを学習した人に、Reactも学習してほしい理由とその学習方法についてまとめてみました。

Curriculum pt1

Reactとは?

Reactとは、ユーザーインターフェイス(UI)を構築するためのオープンソースのJavaScriptライブラリです。
Facebookが開発の主導となっており、現在ではNetflixやAirbnbなどのホームページでもReactが活用されています。

Reactのよさが活きるのは、ボタンやテキストエリアなどがたくさんあり、入力した値を即座に反映できるようなWebアプリケーションなどです。

ReactはjQueryのようにアニメーション操作やAjaxなどが使える訳ではありませんが、これまでjQueryのプラグインなどを使ってUIを作成していた人には、jQueryに代わるものとして利用することができるでしょう。

jQuery学習者がReactも学習してみてほしい理由

1. データバインディングが簡単になる

Reactが行えることは非常にシンプルで、APIもjQueryに比べれば数えるほどしかありません。
しかし、そのわずかなAPIで、これまで慣れ親しんできたjQueryの機能の大部分を超えるほどの威力があります。

Reactでは、設計と速度が両立する「仮想DOM」を採用しています。

HTMLはツリー構造をしています。
そして、このツリー構造の差分(diff)を算出して、DOMに渡す作業を行えば、常に最小のコストで状態遷移を表現できるというのが「仮想DOM」の基本的な考え方です。

例えば、

<ul>
  <li>foo</li>
</ul>

というHTMLがあり、

<ul>
  <li>foo</li>
  <li>bar</li>
</ul>

にする場合には、通常「<li>bar<li>」を足せばよい、という考え方に行き着きます。
すなわち、「document.createElement('li')」して「ul.appendChild(li)」する、というのが通常のDOM操作です。
Reactでは、「<li>bar</li>」という差分に関して自動的に処理を行ってくれます。

Reactでの操作に慣れてくると、jQueryで行なっていた「DOMをこねくり回す操作」が非常にシンプルになります。
DOMを生成する計算処理は思っているより意外と多いので、ほとんどの場合DOMの差分を計算するほうが速く、結果的に速度も早くなります。

2. JSXがわかりやすい

Reactでは「JSX」と呼ばれる新しい記法をJavaScriptに導入しています。
「要素や属性があって、子にはテキストノードや別の要素があって」といった具合に、JavaScriptの構文だけを使って「DOMの設計図」を読み書きするのは大変だからです。

JSXは、言ってしまえばHTMLとJavaScriptを混在して書くことができるような記法です。
BabelやTypeScriptのような他のライブラリでもJSXをサポートしているので、これを機に学習してみるのもオススメです。

React.createElement(
  "div",
  { title: "hi" },
  "Hello ",
  React.createElement("b", null, "World")
);

もしこれをJSONで書くとなると以下のようになります。

{ element: 'div', attributes: { title: 'hi' }, content: [ 'Hello ', { element: 'b', content: ['World'] } ] }

少々分かりにくいと感じるのではないでしょうか。

「HTMLとJavaScriptは分離しましょう」というのは長い間「暗黙の了解」でしたが、それはHTMLが主役でJavaScriptがおまけだった時の話です。

現在ではほとんどのアプリケーションで、データがAPI経由でやりとりされ、あらゆるものが動的に構築されるようになると、HTMLは骨組みでしかなくなってしまいます。
一方、機能的に関連するタグと動作を、名前付きでまとめて短く記述できるReactの記述方法のほうが合理的だと言えます。

3. 規模が大きくなっても管理が簡単

Reactでは大規模なWebアプリケーションほど向いている、と言われています。

理由はいくつかありますが、DOM操作がたくさん発生するWebアプリケーションでは操作をシンプルにすることができ、コンポーネントを極力ステートレスにすることで、コンポーネントが管理しやすくなるということが挙げられます。

一方、DOM操作がほとんどない場合には、jQueryを使ったほうが早い場合もあります。

Reactの学習方法

それでは、Reactを基本的なことから学んでいくにはどのようにすればいいのでしょうか。
ここでは、オススメのホームページやスライドをピックアップしてご紹介していきます。

1. 公式サイト

https://facebook.github.io/react/

最新の情報が揃っているのは公式サイトです。
基本的なコードで実装できるチュートリアルなどが分かりやすくまとめられており、最新情報をブログで確認することもできます。

  • チュートリアル:https://facebook.github.io/react/docs/tutorial.html
  • 実装例:https://github.com/facebook/react/wiki/Examples

2. React チュートリアル 日本語版

http://mae.chab.in/archives/2943

Reactのチュートリアルの日本語翻訳を掲載しています。
日本語だけではなく翻訳元の英語も掲載しているので、Reactだけでなく英語の勉強にもなります。

3. 30分間React入門「いいねボタン」作成チュートリアル

http://c16e.com/1510161700/

Reactを使ってFacebookの「いいねボタン」を実装するためのチュートリアルを紹介しています。
カーソルが乗ったときに色が変わったり、ボタンをクリックしていいねの数を増やしたり減らしたりする細かなギミックも学ぶことができます。

4. Reactってなんだ?

http://www.slideshare.net/katty0324/sirok-1-react

株式会社シロクの勉強会で紹介されたReactの紹介スライドです。
「Virtual DOMって結局何?」「JSXのコンパイル?」といった用語も、図解でわかりやすく解説してくれています。

5. 出来る限り短く説明するReact.js入門

http://qiita.com/rgbkids/items/8ec309d1bf5e203d2b19

各項目をできるだけ3行で説明するように心がけている、初心者向けのReactの解説記事です。
各分野がシンプルにまとめられているだけでなく、必要部分にはサンプルコードも掲載されています。

6. いま最も注目のライブラリ「React.js」でシングルページアプリケーションを作ってみよう!

https://codezine.jp/article/detail/8491

Reactを使ってToDoアプリを作るチュートリアルです。
最終的にはタブを使って「未完了」「完了」を切り替えるような一歩進んだ実装を行っていきます。

7. Elemental UI

http://elemental-ui.com

ReactベースのUIフレームワークです。
ベースはReactですが、実装はHTMLタグのようにコーディングしているので、Reactの知識は必要ありません。
React風のUIを作りたいときに役に経ちます。

まとめ

jQueryを習得すると、特にDOM操作に関して面倒な手続きを行わなければならないことがあります。
ReactはDOM操作がシンプルになるだけでなく、jQueryを使ってUI部分を作成していたフロントエンドエンジニアやWebデザイナーにとっても、扱いやすいライブラリといえます。
「appendTo()」や「removeClass()」などのjQuery的なDOM操作を書く必要がないからです。

一方、「HTMLが主役で動的な要素が少ないサイト」や「数時間でコーディングが終わるようなサイト」はReactよりもjQueryで書いたほうが効率がいいかもしれません。
HTMLよりもJavaScriptの役割の比重が大きいほうがReactのよさが活きてきます。
適材適所ではありますが、ぜひアプリケーションを作るときなどにReactを使ってみてください。

関連記事

  • "地味にスゴい"ってホント!? わかりやすくHTML5.1の追加された新機能を紹介
  • sitemap.xmlを作成しよう<内部対策SEO>
  • 検索エンジンのインデックスを早める為に必須!XMLサイトマップの基本を解説
  • Flexboxでグリッドデザインを実装できるCSSフレームワーク15選
  • 内部対策SEO:ページネーション対策 link rel="next"/"prev"

Webマーケティングのノウハウ集をプレゼント!

ferretマーケティングメソッド(無料)

創業より10年以上、Webマーケティングの最前線で弊社が得てきた効果をあげるためのノウハウを1つの資料にまとめました。(全83ページ)

抜粋版のサンプルを読む(全3ページ)限定版の資料をダウンロードする(全83ページ)

Original

PRferretライター募集

Logo icon

現会員341,988人

ログインはこちら

会員限定Webマーケティングのノウハウをまとめた資料を限定公開

新着をキャッチ

  • RSS を購読する
  • Twitter をフォローする
  • facebook でファンになる
  • LINE で友だちになる

コンテンツマーケティング成功例

  • 昨日
  • 週間
  • 月間
Thumb

世界一簡単にブラウザのプッシュ通知を実装できる「Push.js」の使い方を徹底解説

Thumb

ストックしておいて損はなし!ユニークな日本語フリーフォント10選

Thumb

本当に使えるのはどれ?ブログ作成でおすすめできる人気の無料サービスを21個比較

Thumb

ノンデザイナーでも安心!便利な無料パターン素材107選【2月編】

Thumb

有限会社はもう存在しないって知っていましたか?意外と知らない法人の分類を解説

Thumb

本当に使えるのはどれ?ブログ作成でおすすめできる人気の無料サービスを21個比較

Thumb

初心者でも使いやすいオススメのテキストエディタ19選

Thumb

ホームページ作成に使えるのはどれ?無料で簡単に作れるツール15選

Thumb

容量だけで選んでいいの?無料オンラインファイルストレージ比較13選

Thumb

スマホ対応済み!WordPressの人気無料テンプレートまとめ

Thumb

本当に使えるのはどれ?ブログ作成でおすすめできる人気の無料サービスを21個比較

Thumb

ホームページ作成に使えるのはどれ?無料で簡単に作れるツール15選

Thumb

初心者でも使いやすいオススメのテキストエディタ19選

Thumb

容量だけで選んでいいの?無料オンラインファイルストレージ比較13選

Thumb

スマホ対応済み!WordPressの人気無料テンプレートまとめ

コンテンツ

トレンドを知る

  • ノウハウ&トレンド ニュース
  • リリース ニュース
    - ferret×PR TIMES -
  • マーケター特集
    - マーケティングジャーニー -
  • マーケターのキャリアとは
    - ferret × マイナビ転職 -

体系的に学ぶ

  • 基礎〜応用を学ぶ
    - カリキュラム -
  • コンテンツマーケティングを学ぶ
  • Googleアナリティクスガイド
  • 事例
  • セミナー
  • 資料ダウンロード
  • マーケティング用語辞典

実践ツール

  • マーケティングオートメーション
    - ferret One -
  • 1文字0.8円〜!
    - ferret コンテンツライティング -
  • 画像1点99円〜!
    - 画像・写真の加工編集サービス -
  • ferretのノウハウを公開
    - オウンドメディア運用・構築支援 -
  • Instagram分析ツール
    - ナビスタ -

Info

  • ferretとは
  • 運営会社
  • メンバー紹介
  • 著者一覧
  • お問い合せ
  • 広告掲載について
  • 利用規約
  • プライバシーポリシー
  • 特定商取引法に基づく表示

求人情報バナー

おすすめ記事

Thumb

"地味にスゴい"ってホント!? わかりやすくHTML5.1の追加された新機能を紹介

Thumb

sitemap.xmlを作成しよう<内部対策SEO>

Thumb

検索エンジンのインデックスを早める為に必須!XMLサイトマップの基本を解説

Thumb

Flexboxでグリッドデザインを実装できるCSSフレームワーク15選

Thumb

内部対策SEO:ページネーション対策 link rel="next"/"prev"

エントリー

  • 新着
  • ランキング

トレンドを知る

  • ノウハウ&トレンド ニュース
  • リリース ニュース
    - ferret×PR TIMES -
  • マーケター特集
    - マーケティングジャーニー -
  • マーケターのキャリアとは
    - ferret × マイナビ転職 -

体系的に学ぶ

  • 基礎〜応用を学ぶ
    - カリキュラム -
  • コンテンツマーケティングを学ぶ
  • Googleアナリティクスガイド
  • 事例
  • セミナー
  • 資料ダウンロード
  • マーケティング用語辞典

実践ツール

  • マーケティングオートメーション
    - ferret One -
  • 1文字0.8円〜!
    - ferret コンテンツライティング -
  • 画像1点99円〜!
    - 画像・写真の加工編集サービス -
  • ferretのノウハウを公開
    - オウンドメディア運用・構築支援 -
  • Instagram分析ツール
    - ナビスタ -
  • ferretとは
  • 運営会社
  • メンバー紹介
  • 著者一覧
  • お問い合せ
  • 広告掲載について
  • 利用規約
  • プライバシーポリシー
  • 特定商取引法に基づく表示
Logo whiteWebマーケティングに
強くなるメディア

© 2016 basic Incorporated.

過去10年間で弊社が得てきたWebマーケティングのノウハウを

1冊の資料にまとめました。(全83ページ)