【ITニュース解説】A Super Friendly Gallery: My Kiro Hackathon Project, Sort It!
2025年09月15日に「Dev.to」が公開したITニュース「A Super Friendly Gallery: My Kiro Hackathon Project, Sort It!」について初心者にもわかりやすく解説しています。
ITニュース概要
ハッカソンで、スワイプで写真を整理できるReact Native製アプリ「Sort It!」が開発された。開発にはAI搭載IDE「Kiro」が使われ、複雑なタスクを効率化し、開発経験が浅い人でもスムーズにプロジェクトを進め、完成に導けることが示された。
ITニュース解説
スマートフォンの写真ギャラリーがスクリーンショット、旅行の写真、ミームなどでごちゃごちゃになって整理されていないという悩みを持つ人は少なくない。このような状態を解消し、デジタルな思い出を秩序立てて整理できるように開発されたのが、モバイルアプリ「Sort It!」である。このアプリは、Code with Kiroハッカソンというイベントで、開発者が手掛けたプロジェクトだ。
「Sort It!」は、React Nativeという技術を用いて作られたモバイルアプリで、直感的なスワイプ操作によって写真をアルバムに整理できる。ユーザーは、不要な写真を左にスワイプして破棄し、保存したい写真を右にスワイプしてアルバムに加えるというシンプルな操作で写真を整理できる。この操作は、まるで写真を一枚一枚確認しながら、いるものといらないものを仕分けていくような感覚で進められる。
このアプリが提供する主な機能はいくつかある。まず、直感的なスワイプジェスチャーにより、なじみのあるインターフェースで素早く写真を整理できる。次に、スマートなアルバム管理機能では、「カメラ」や「ダウンロード」といった既存のアルバムを自動的に検出し、ユーザーが自分だけのカスタムアルバムを作成することも可能だ。さらに、このアプリはパフォーマンスを重視して構築されており、数千枚もの写真でもスムーズに処理できるよう設計されている。これにより、大量の写真を抱えるユーザーでも快適に利用できる。
「Sort It!」の開発には、いくつかの技術が採用されている。まず、モバイルアプリを開発するために「React Native」が使われた。この技術は、一つのコードベースからiOSとAndroidの両方のプラットフォームで動作するアプリを作成できるという大きな利点を持つ。次に、「Expo」が開発プロセスを効率化し、アプリのビルド(作成)やデプロイ(配布)を簡素化するために利用された。これにより、開発者は開発環境の構築やアプリの公開に関する複雑な作業に時間を取られることなく、アプリ自体の開発に集中できた。さらに、「TypeScript」がコードの堅牢性、保守性、そしてエラー発生の可能性を低減するために導入された。TypeScriptはJavaScriptに「型」の概念を加えることで、開発段階で多くの問題を検出し、より信頼性の高いコードを書くのを助ける。最後に、軽量で使いやすい状態管理ソリューションとして「Zustand」が採用された。これは、アプリ内のデータ(写真のリスト、現在の表示状態など)を効率的に管理し、アプリ全体の動作をスムーズにするための仕組みだ。
このプロジェクトの開発において、開発者はKiroというAI搭載の統合開発環境(IDE)を深く活用した。以前にもAIコーディングツール(Windsurf)を使った経験はあったが、Kiroはその能力において際立っていた。Kiroを使っていると、まるでAIが開発の重い部分のほとんどを担ってくれているかのように感じられる瞬間が多々あったという。複雑なタスクも、タスクの開始やコマンドの実行など、わずか数回のボタンクリックで完了することが多かった。これは、AIを開発ワークフローに深く活用することにまだ慣れていない開発者にとって、非常に強力な体験であった。
別のプロジェクト、Chrome拡張機能「Declutter!」を開発した際には、簡単な機能追加やバグ修正でさえ、何度も詳細な指示(プロンプト)を与える必要があった。そのため、本格的なモバイルアプリの開発では、さらに複雑なプロセスが予想され、詳細なプロジェクト計画を作成するだけでも他のツールでは10回から20回ものプロンプトが必要になると見積もっていた。
しかし、Kiroはこの点でその真価を発揮した。KiroのSpecモードやVibeモードを使うと、最初の計画立案が非常にスムーズに進んだ。Kiroは開発者の高レベルなアイデアを構造化された計画に分解し、アプリの核となるコンポーネントもわずか数回のクリックで生成された。開発環境とExpo Goがシームレスに統合されているため、QRコードをスキャンするだけでアプリケーションをすぐにテストできた点も注目に値する。これまでの開発経験では、多くのVS Codeの派生版がターミナルでのコマンド実行に苦労することがあったが、Kiroはこれを完璧に処理し、IDE内で動作する開発バージョンのアプリを構築することを可能にした。
このプロジェクトは、開発者にとって個人的な大きな節目となり、初めてGitにプロジェクトを正常にプッシュできた経験となった。Kiroが提供するワンクリックのタスクリストや、複数のタブ間で作業の文脈を維持できるといった初心者にも優しい機能は、開発への障壁を低くし、全体のプロセスをより直感的で恐ろしくないものにした。
Kiroのより高度な機能、例えばAgent Hooksといった機能を使わずとも、Kiroは非常に専門化されたアプリケーションに匹敵するほどの効率性を示した。これは、Kiroの内部に秘められた大きな力の証拠だ。実際に、Kiroで構築されたアプリの出力と動作は、現在人気を博している、ReactとExpo Goを使ってモバイルアプリのみを構築することに特化したRork Appで開発された代替アプリと近いものだった。
もちろん、完璧なツールというものは存在しない。Kiroもまた、小さな問題を修正しようとする際に、時として複雑に感じられ、それが開発ワークフローを一時的に妨げることがあった。また、将来のバージョンでは、より高度なAIモデル(Claude 3.7 with thinkingなど)が組み込まれることや、リアルタイム情報を検索するためにウェブを参照する機能が追加されることに期待が寄せられている。
全体として、Kiroを使った開発体験は圧倒的に肯定的なものだった。Kiroは、以前なら挑戦をためらっていたようなプロジェクトにも取り組むことを可能にし、開発プロセスをより速く、そしてより楽しいものに変えたのである。