LoginSignup
1
2

More than 3 years have passed since last update.

Reactを触ってみる(その1)

Last updated at Posted at 2021-01-18

動機: フロントエンド、ガッツリやってみたい!

  • 普段はサーバーサイドエンジニアとして、主にPHP/Javaで開発することが多いのですが、JavaScriptでゴリゴリにフロント動かしてみたい!という欲求が昔からありました。かつ、どうせだったら「altJS」(alternative JavaScript)× 「JSフレームワーク」を使ってみたい!という思いがあり、今回Javascriptをガッツリ触ってみることにしました。

フレームワーク何にしようか問題

  • さて、JavaScriptをガッツリやっていくのはいいとして、どういう組み合わせを選ぶか?日本のGoogleトレンドを見てみると、以下のような結果に。

<順位>
React > Vue > Angular

【参考】
React,Vue,Angularのトレンド比較(日本)

ふむふむ。結構ReactとVueが拮抗してますね。もっとよく調べてみると、世界の有名サービスは軒並みReactで作られている、かつグローバルではReactのシェアのほうが高い。(Vue.jsもコミュニティがかなり頑張っているので、結構いい勝負ではあるようです)悩んだんですが、Reactを以前から触ってみたかったので、今回の学習では「React」を学ぶことにしました。

何はともあれ触ってみる: 開発環境構築

  • 開発環境PC: Windows10 Home

Node.jsのインストール

まずPCに「Node.js」をインストール。そもそも、React使うのに何でNode.jsインストールする必要があるんだっけ?今一度整理。

  • Node.js
    • JavaScriptをRubyやPythonと同じようにPCのターミナル上で動かすことができるようにするためのソフトウェア。JavaScriptをサーバーサイド言語として使えるようになる。
    • npm: Node.jsの為に作られたパッケージ管理システム。Node Package Managerの略。パッケージのインストール・アップデート・アンインストールだけでなく、リポジトリ機能も完備。
    • フロントエンド用のパッケージを提供するのにも用いられるようになる。Javascriptのパッケージ管理はnpmを使う。

以下のリンクの記事を参考にWindowsマシンにNode.jsを入れていきます。

【参考】
Windows 10へNode.jsをインストールする

Visual Studio Codeのインストール
React開発元のデフォルト開発環境でもあるらしい「VS Code」をインストール。

プロジェクトの作成 ~ Hello World!まで

  • Create React App(CRA)でプロジェクト(スケルトン)を作成する。適当なディレクトリで以下のコマンドを実行。
npx create-react-app hello-world --template typescript

今回はaltJSに「TypeScript」を使います。

  • Create React App
    • react: React本体パッケージ
    • react-dom: DOMを抽象化してReactから操作できるようにするレンダラーのパッケージ
    • react-scripts: 50個以上のパッケージ群を隠蔽してくれる。

コマンド実行が終わると、最後にメッセージが表示されるので、言われた通りに実行する。

$cd hello-world
$npm start
  • コマンドを実行すると、ローカルにHTTPサーバーが3000番ポートで立ち上がってアプリが起動されてる!ブラウザにデフォルト画面が表示されました。

  • Hello World!と表示させる為、App.tsxを編集
import React from 'react';
import logo from './logo.svg';
import './App.css';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>
          Hello World!
        </p>
        <a
          className="App-link"
          href="https://reactjs.org"
          target="_blank"
          rel="noopener noreferrer"
        >
          Learn React
        </a>
      </header>
    </div>
  );
}
export default App;
  • Reactで作られるアプリケーションは全て「コンポーネント(Component)」の組み合わせで構成される
  • Reactではコンポーネントの実装は関数またはクラスで定義する

まとめ

  • 第一回はいったんこれにて満足w 今後、参考にしている本を読み進めて、さらに理解を深めていきます。

参考
『りあクト! TypeScript で始めるつらくない React 開発 第3.1版』
https://booth.pm/ja/items/2368045

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2