ブログ
Web サイト構築の舞台裏:コーヒーと格闘と、時々コード
はじめに
ある日、私たちは思いました。「そうだ、Web サイトを作ろう」と。時間もない、使用したこともないのに、 Next.js と TypeScript というモダンな響きに導かれ、制作が始まりました。本記事では、数え切れないほどの`console.log`と、なぜか中央に寄らない`div`との戦いの記録、そしてユーザー体験という宝を探し求めた旅路の物語を、少しばかりのユーモアを添えてご紹介します。
選んだ武器(使用技術スタック)
まずはこの冒険のために、以下の武器を手に取りました。
- Next.js (App Router): 「サーバーとクライアント、どっちでレンダリングする?」という古の問いに「両方だ!」と答えてくれる魔法のフレームワーク。App Router は、最初は外国語に聞こえましたが、なんとか聞き取れるようになってきました。
- React: UI 界の王道フレームワーク。コンポーネントという名のレンガを積み上げ、デジタルな城を築き上げました。
- TypeScript: 「`any`型は使うな」と囁き続ける、厳格だが慈悲深い師匠。彼(彼女?)のおかげで、我々は数多のバグから守られたことでしょう。型パズルはもはやゲームです。
- Tailwind CSS: 「CSS は書きたくない、でもデザインはしたい」というわがままを叶えてくれた魔法の呪文たち。`flex items-center justify-center`はもはや夢に出てくるようになりました。
- shadcn/ui & tailwindplus: ゼロからコンポーネントを作るのは大変なので、賢者の知恵(`shadcn/ui`)をお借りしました。さらに`tailwindplus`という美しい見本を参考に、サイトをドレスアップ。車輪の再発明は避けるのがデキる開発者です、多分。
頼れる仲間たち(利用した API・サービス)
旅は一人ではありませんでした。強力な仲間たちが支えてくれました。
- ブログコンテンツ管理 (microCMS): 「管理画面を作る時間?ないよ!」という我々の叫びに応えてくれたヘッドレス CMS の勇者。彼とはこれからも仲良くしていかなければなりません。
- メール配信 (SendGrid): お問い合わせフォームという名の伝書鳩を、確実に届けてくれる信頼の飛脚。その飛脚が腐らないように我々も日々レベルアップしていきます。
冒険の試練(苦労した点と解決策)
1. tailwindcss v4 という名の迷宮
未学習にも関わらず、tailwind v4 という嵐に突っ込んでしまいました。「あれ、`tailwind.config.js`はどこへ?」「このクラス、v4 ではどう書くの?」と、我々は CSS の荒波に揉まれました。
2. TypeScript コンパイラ様との対話
microCMS からやってくるデータは、時に予測不能な形をしていました。その度に TypeScript コンパイラ様から「この型は違うぞ!」と叱られ、ひたすら型定義を捧げ続けました。今ではコンパイラ様が黙っていると不安になります。
3. レスポンシブデザインという名のラスボス
PC では完璧なレイアウトが、スマホで見ると大崩壊。これはすべての Web 開発者が経験する悪夢です。Tailwind CSS のブレイクポイントという名の魔法陣を駆使し、幾多の夜を越えて、ついに全デバイスを支配することに成功しました。モバイルファーストという事実に気づくのが遅すぎたようです。
我々の小さな勝利(工夫した点)
1. デザインの素晴らしさ(と、僕のかわいさへの理解)
まず言わせてください、このサイト、かわいくないですか?この素晴らしいデザインは、我らが代表が手掛けてくれました。僕ですか?僕にはこんなにかわいくて、温かみのあるデザインは逆立ちしても作れません。ピクセルを1つ動かすのに数時間悩んだ挙句、結局元に戻すのが関の山です。代表の美的センスには脱帽するしかありません。
2. コンポーネントの分身の術
ボタンやカードを一度作れば、あとはコピーして貼り付けるだけ!…ではなく、ちゃんと再利用可能なコンポーネントとして分身させました。おかげでコードはスッキリ、修正も一箇所で済むという快適な生活を手に入れました。
3. パフォーマンスという名の速さを求めて
- 画像最適化: 初学者ながらも、ユーザーを待たせるのは悪だと信じています。`next/image`を使い、画像をギリギリまで圧縮。ページの表示速度は、もはや光速です(気持ち的に)。
- データフェッチの最適化: 必要なデータだけを、必要な時に。SSG と SSR を使い分け、無駄な通信を徹底的に排除しました。我々のサイトはエコです。
まとめ
こうして、我々の Web サイトは(バージョン 1.0 として)完成しました。これからもシーみるは、コーヒーの海を泳ぎ、終わらないリファクタリングの山を登りながら前進していきますので、暖かく見守ってください。このユーモアと技術が詰まったサイトが、訪れるすべての人々にとって、少しでも楽しい体験となることを願っています。そしてもしバグを見つけても仕様です。たぶん。