フロントエンドをセットアップしよう
🍽 フロントエンドを作成しよう
このセクションでは、Webサイトの構築を通して、フロントエンドがスマートコントラクトとどのように関連するのかを学びます。
今回はtypescript + React + Next.jsを使ってフロントエンド開発を 進めていきます。
typescript: プログラミング言語React.js: ライブラリNext.js:React.jsのフレームワーク
🏙️ Typescript
TypeScriptはMicrosoftが中心となって開発を進めているオープンソースのプログラミング言語です。
TypeScriptのコードはコンパイルによりJavaScriptのコードに変換されてから実行されます。
最終的にはJavaScriptのコードとなるので、処理能力などJavaScriptと変わることはありません。
ですがTypeScriptには静的型付け機能を搭載しているという特徴があります。
静的型付けとは、ソースコード内の値やオブジェクトの型をコンパイル時に解析し、安全性が保たれているかを検証するシステム・方法のことです。
JavaScriptでは明確に型を指定する必要がないため、コード内で型の違う値を誤って操作している場合は実行時にそのエラーが判明することがあります。
TypeScriptはそれらのエラーはコンパイル時に判明するためバグの早期発見に繋がります。
バグの早期発見は開発コストを下げることにつながります。
TypeScriptのコンパイラは今回使うNext.jsに標準でインストールされるので気にする機会は少ないです。
🎢 React.jsとNext.js
React.jsは、インタラクティブなユーザーインタフェースを構築するためのJavaScriptライブラリです。
ライブラリなので便利な機能が揃っていますが、どこでどのように使うのかは開発者に委ねられています。
Next.jsは、Webアプリケーションを作成するためのReact.jsフレームワークです。
フレームワークとは、React.jsに必要なツールや設定をNext.jsが行い、
アプリケーションに追加の構造、機能、最適化を提供することを意味します。
Next.jsが設定とアプリ構成の多くを処理し、React.jsアプリケーションの構築を支援する追加機能を備えていることです。
今回はNext.jsの大きな特徴であるサーバーサイドでのレンダリングなどについては触れませんが、
Next.jsを使用した開発を知るきっかけになればと思います。
本セクションでは1つずつコードを作成してきますが、 これらを体系的に学びたい方のためにいくつか参考リンクを載せておきます。