もう気がついたら1月の半ばで働くまで二週間となっていました。哲学の本を読んでいる場合ではないので明日返しに行ってきます。これからは基本的に勉強した内容をアウトプットすることにします。
Reactとは
Reactはjavascriptのライブラリです。javascriptというのはブラウザが実行するWebページに動的な動きをつけるために記述するプログラミング言語です。最近ではブラウザが実行するクライアント側専用の言語からサーバーとアクセスしてデータベースを使ってやりとりすることができるサーバー側と従来のフロント側の両方をjavascriptで記述することができます。このreactはフロント側に特化したライブラリでより効率的に、素早く処理を行うことができます。Reactの特徴としては指定したhtmlのDOMに新たに記述した仮想DOMの内容をそのままページに反映させることができます。通常のWebページの読み込みはサーバーにページの問い合わせをしてデータを変更してページを1から作り直します。しかしReactの場合は変更したデータの内容に関わっている部分だけを変更することができ、さらにデータの受け渡しをReactの中で完結させることができるのでとても高速にページを変更させることができます。
DOMとは
DOMはhtmlを階層的に取り扱う仕組みのことを言います。ブラウザがhtmlで記述された文字を読み取って文字列としてページに反映させるのですが、DOMを採用することによってどの部分がタイトルでどの部分が中身の部分でユーザーが入力する部分はどこで行われるかなどが瞬時にわかります。このDOMの仕組みを利用して検索エンジンはSEOを行っています。さらにcssでhtmlの文字に装飾する場合もDOMツリーの要素を選択することによって簡単に実現できます。javascriptはそのツリーの要素を指定して動的な動きをつけるのです。
Reactの設計
Reactはコンポーネントを使って変更する内容を記述した要素を作り、そのコンポーネントを組み合わせてDOMツリーに組み込みます。この時に一つのコンポーネントは一つの要素を返すように記述するのですが、その時に使われるのが仮想DOMツリーです。
仮想DOMツリーとは
React独自の概念で、htmlで記述するDOMツリーの内容に限りなく近い記述で要素を書くことができます。javascriptでもjqueryというライブラリを使って簡単にhtmlの要素にjavascriptで記述した新しい要素を組み込むことができるのですが、Reactはもっと簡単でわかりやすいです。facebook,instagram,twitterなどモダンなアプリケーションにはほとんどReactが登場します。
まとめ
Reactの外観はなんとなく掴めてきたのであとは自分で考えてアプリケーションを作成できるようになりたいです。最近は参考書をそのまま書くだけだと全く見にならないことがわかったので参考書をそのまま写すことはやめ、自分でやりたい実装を考えてそれに必要なものを参考書から参考にするということをしていきます。