3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Next.jsで技術ブログを作成してみた

Last updated at Posted at 2025-03-17

new article body

今回技術ブログを作成するにあたって。初めてNext.jsを使ってみました。

使用技術

"dependencies": {
  "@testing-library/dom": "^10.4.0",
  "@testing-library/react": "^16.2.0",
  "biome": "^0.3.3",
  "firebase": "^11.4.0",
  "jest": "^29.7.0",
  "next": "latest",
  "react": "^18.2.0",
  "react-dom": "^18.2.0"
},
"devDependencies": {
  "@biomejs/biome": "1.9.4",
  "@tailwindcss/postcss": "^4.0.10",
  "@testing-library/jest-dom": "^6.6.3",
  "@types/bun": "latest",
  "@types/node": "20.8.10",
  "@types/react": "^19.0.10",
  "@types/react-dom": "^19.0.4",
  "daisyui": "^5.0.0",
  "jest-environment-jsdom": "^29.7.0",
  "postcss": "^8.5.3",
  "tailwindcss": "^4.0.10",
  "ts-node": "^10.9.2",
  "typescript": "^5.2.2"
},

機能

QiitaとmicroCMSのAPIを使って記事を取得し、記事カードとして表示する機能を実装しました。
クリックすると、Qiitaは元記事のページ、microCMSは専用のビューページに遷移するようにしています。

画面収録 2025-03-14 6.57.47.gif
画面収録 2025-03-14 7.03.34.gif

つまずいた点

普段使用していたuseStateなどがSSRだと使用できず、対象のコンポーネントがCSRかSSRかによってReactの書き方を変えないといけなかったところに躓きました。

また、APIとJsonデータを扱うことがあまりなかったので、API通信時の非同期の処理とシリアライズをすべきタイミングがよくわからず、どこで問題が起きているのか切り分けることに苦戦しました。

学んだこと

CSRやSSRなどがどういうものかは知っていましたが、実際にプログラミングをする際、何が使えて何が使えないかを学ぶことができました。

また「APIを使用してデータの送受信を行う」ということを、今までなんとなくでやっていましたが、Next.jsでAPIというものを意識的に扱ったおかげで、かなり解像度を深めることができました。

まとめ

今回はNext.jsを使って技術ブログを作成しAPIという仕組みの理解を深めることができました。

そのため、APIを肌感覚で学びたい場合は、フォルダ単位でAPIとUIが分かれているフレームワークを使用して何か作ってみるのことが、大分APIの理解に役立つと思います。

JISOUのメンバー募集中

プログラミングコーチングJISOUではメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?

気になる方はぜひHPからお願いします👇

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?