## 小一時間でクソアプリを作ってみた ~ 技術紹介編 ~
この記事は [茨大 Advent Calendar 2021](https://adventar.org/calendars/6493) 16日目の記事です。
こんにちは、kijikunnnです。
来年度から、IT企業のエンジニアとして就職するということもありまして、この記事では私が現在推しているフレームワークである「**Blitz.js**」を紹介します。
## What is Blitz.js ?
[Blitz.js](https://blitzjs.com/)とはJavaScriptのライブラリであるReactのフレームワークです。
プログラミングを知らない人が聞くと,
**Blitz?プリッツみたい。美味しそう🤤**
なんて思うかもしれません。
プログラミングをやっている方でもまだまだ認知度が低いかもしれません。
なぜ、私がこのBlitz.jsを推しているかというと、Blitz.jsはRuby on Railsにインスパイアされた**フルスタックフレームワーク**、すなわちBlitz.jsだけで**Webアプリケーションを構築することができる**のです。
かつてRubyのフルスタックフレームワークであるRuby on Railsが流行し、今現在もスタートアップ企業などでは採択されてはいますが、現在のフロントエンド業界はJavaScriptライブラリが席巻しており、時代は変わりつつあります。
そこでまだ、ベータ版であり正式リリースはもう少し先ですが、これから流行すると私は期待しているBlitz.jsの魅力を紹介していきます。
## 使用されているパッケージ
それではBlitz.jsで使用されているパッケージ、フレームワークについてそれぞれ一言で紹介していきます。
- React
- JavaScriptのライブラリ
- Next.js
- Reactのフレームワーク
- React Query
- state管理用パッケージ
- Prisma
- Node.js、TypeScript向けのORM
大きくこの4つです。
## Zero-API
Blitz.jsは従来のアプリケーションのように、RESTやGraphQLのようにAPIエンドポイントの追加やクライアント側でのフェッチやキャッシングを行う代わりに、サーバーコードをコンポーネントに直接インポートすることでAPIを必要としない。
## CLI
Ruby on Railsにインスパイアされているため、所々Ruby on Railsを連想させるCLIがありまあ。
```shell
blitz console
```
データベースとすべてのクエリとミューテーションがプリロードされた状態でNode.jsREPLを開始.
これにより,データベースの読み取りまたは書き込みが非常に簡単になり、queryまたはmutationを使用して1回限りのコマンドを実行できる。
```shell
blitz routes
```
ページURLの一覧表示。
等々、他にも開発に便利なCLIが多数あります。
## 最後に
ということで、**小一時間でクソアプリを作ってみた ~ 技術紹介編 ~** でした。
私もまだまだBlitz.jsについては勉強中なので、これからも勉強していきます。
今回は技術の話だけだったので退屈だったかもしれませんが、次回はBlitz.jsを用いてクソアプリを作りましたのでぜひ読んでください。
次回は**小一時間でクソアプリを作ってみた ~ 開発編 ~** ということでアドベントカレンダーの17日目の記事に書きます。
では、17日目にお会いしましょう。