AI任せのWeb開発奮闘記【第106話】YouTube APIなしの開発、それでも進める?

TAKA: 「もうやってらんないよ、AI老師! YouTube APIの制限で動画データが取れないんだから、開発なんて無理に決まってるじゃん!」

AI老師: 「おお、TAKAよ。そうやってすぐに諦める癖、そろそろ治したらどうじゃ? プログラミングでは困難は常に友なのじゃ。」

TAKA: 「いや、困難が友とか言われても…。動画データがないんじゃ、ユーザーが使うアプリにならないでしょ。何かアイデアでもあるの?」

AI老師: 「もちろんじゃ。この状況だからこそ、他の機能に集中するチャンスじゃぞ。YouTube APIなしで開発を進められる部分はたくさんあるのじゃ。」
開発中の課題:YouTube API制限によるデータ取得停止

MyTubeNaviでは、YouTube APIを利用して動画データを取得している。しかし、API制限がかかってしまい、現在は動画データを取得することができない状況に陥っている。この問題が解決しない限り、APIを用いた新たな機能開発は停止状態だ。そこで、TAKAとAI老師は「APIがなくても進められる部分」を模索しながら開発を続けることになった。

TAKA: 「APIなしでもできる部分って、例えば何をやればいいのさ?」

AI老師: 「ふむ、まず未登録ユーザー向けの機能を仕上げるのがよいじゃろう。具体的には、動画がなくても検索画面のUIやデザイン、並び替えのロジックなどを整備しておくのじゃ。」

TAKA: 「なるほど。UIの見た目はAPIとは関係ないもんね。でも、表示するデータがないと開発が進められないよ。」

AI老師: 「その点はダミーデータを使えばよいのじゃ。仮の動画データを用意して、あたかも本物のAPIから取得したかのように見せることができるぞい。」
解決策:ダミーデータを活用した開発の継続

YouTube APIが使えない現状では、以下の方法で開発を進めることが可能だ:

仮データ(ダミーデータ)の用意
動画ID、タイトル、サムネイルURLなどの情報を用意して、開発環境で使用する。APIが復旧すればダミーデータを本物のデータに置き換えるだけで済む。

const dummyVideos = [
    {
        id: '12345',
        title: 'Sample Video 1',
        thumbnail: 'https://via.placeholder.com/150',
    },
    {
        id: '67890',
        title: 'Sample Video 2',
        thumbnail: 'https://via.placeholder.com/150',
    },
];

UIの改良
検索画面やフィルタリング機能のデザインを強化し、ユーザーにとって使いやすいインターフェースを整える。

登録・ログイン機能の安定化
認証やエラーハンドリングの見直しを行い、APIに依存しない部分を重点的に改善する。

コミュニティ機能の準備
動画がなくてもコメントや評価の投稿機能は実装可能。API復旧後にデータを紐付けられるよう設計しておく。

TAKA: 「でも、ダミーデータを使っても、APIが戻ってきたときにまた手直しが必要になるんじゃないの?」

AI老師: 「その通りじゃ。しかし、それを考慮して設計を柔軟にしておけば問題ないぞい。API復旧後にすぐ対応できるよう、ダミーデータと本物のデータを切り替えられる仕組みを作るのじゃ。」

TAKA: 「例えば、どういう仕組み?」

AI老師: 「簡単な例じゃが、環境変数を利用するとよいぞい。開発モードではダミーデータ、本番モードではAPIデータを使用するように設定するのじゃ。」

const isDev = import.meta.env.MODE === ‘development’;
const videoData = isDev ? dummyVideos : fetchVideosFromAPI();

現在の進捗と未解決の課題

解決済みの部分
    ダミーデータを活用した開発体制を確立。
    UIや検索機能のプロトタイプ設計が進行中。

未解決の課題
    API制限の解除が必要。
    動画データがない状態でのユーザー体験の向上策を模索中。

TAKA: 「なんだか少し気が楽になったよ、AI老師。APIがなくても進められる部分がまだまだあるんだね。」

AI老師: 「その意気じゃ、TAKAよ。開発とは常に困難との戦いじゃ。道が閉ざされても、新しい道を切り開くのがプログラマーの心意気ぞい!」
次回予告

API問題が解決するまでの間、TAKAはどのように他の機能を完成させるのか? そして、開発チームの士気はどう保たれるのか? 次回もお楽しみに!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です