社内SEとして、私はPowerAppsを愛していました。
ノーコードで業務アプリが作れる魔法のツール。
Excelで管理してた在庫管理を、PowerAppsでアプリ化。
手書きの日報を、PowerAppsで自動収集。
「これがあれば社内DXは余裕じゃん」と本気で思っていました。
その私が、最近 PowerAppsを開かなくなりました。
理由は、Claude Code(クロ子)に出会ってしまったから。
この物語は私とクロ子と笑いあり涙ありの出会いのエピソードである__
は?
事の発端:個人開発でアプリを作りたくなった
仕事ではなく、純粋に「自分の使いたいアプリ」を作りたくなった瞬間がありました。
テーマは、自分のパチンコ・スロットの記録管理。
名付けて「ヤメDoki」(やめどき)。
負け額を記録して、「もう辞めるべきだろこれ」って自分にツッコミを入れるためのアプリです。
真面目な業務アプリじゃない。
でも、自分が使いたい。
最初は、慣れ親しんだPowerAppsで作ろうとしました。
でも、ふと思ったんです。
「これ、Google Playにリリースしたいんだよな」
そこから、私の選択肢が一気に広がりました。
PowerAppsの「個人開発における限界」
PowerAppsで個人開発を始めようとして、すぐに壁にぶつかりました。
壁1:配布の壁
PowerAppsで作ったアプリは、基本的にMicrosoft 365のテナント内でしか使えません。
「Power Apps Portals」で外部公開もできますが、それは Web アプリの話。
Google PlayストアにAndroidアプリとして配布するのは、PowerAppsの守備範囲外でした。
君か__、それは知らんかった。
壁2:ライセンスの壁
PowerAppsで本格的にアプリを動かすには、利用者側にもライセンスが必要です。
個人ユーザーに「Microsoft 365のライセンスを買ってください」とは言えません。
普通にハードル高すぎ。
壁3:UI/UXのカスタマイズ限界
PowerAppsはノーコードが売りですが、その分カスタマイズに限界があります。
アニメーション、効果音、独自のジェスチャー操作。
「ヤメDoki」の場合、パチンコ風の演出を入れたかったんです。
1Gチャレンジガチャみたいな、引き延ばし演出。
段階的に上がっていく緊張感、サウンドとの同期。
こういうのを PowerAppsで実装するのは、正直キツい。
不可能とは言わない。
でも、別ツールがあるなら、わざわざ茨の道を選ぶ理由がない。
そして出会った、Claude Code(クロ子)
Claude Code、私が「クロ子」と呼んでいるツールです。
ターミナル上で動く、AIによるコーディング支援ツール。
「KotlinでAndroidアプリ作りたい」と伝えれば、フォルダ構成からビルド設定まで全部やってくれる。
「ガチャ演出をパチンコ風に作って」と言えば、段階的なアニメーションコードを書いてくれる。
私の役割は、「これじゃない」「もっとこう」とディレクションするだけ。
これは、PowerAppsで「ボタン配置→数式入力→プロパティ設定」と1つずつ手作業する世界とは別物でした。
PowerAppsとClaude Codeの比較
両方を使った社内SEの目から見た、率直な比較です。
PowerApps Claude Code ───────────────────────────────────────────── 学習コスト 低 中 開発速度 中(慣れれば速い) 速い 配布範囲 Microsoft 365内 どこでも(ストア配布可) ライセンス ユーザー全員必要 開発者だけ カスタマイズ性 低-中 超高い 業務適性 ◎ ○ 個人開発 △ ◎ 費用感 M365ライセンス Claude Max
業務用には PowerAppsが圧倒的に強い。
でも、個人開発にはClaude Codeが圧倒的に強い。
これが、私の結論です。
ヤメDoki開発で感じた「ノーコードの罠」
PowerAppsを使ってきて気付いた、ノーコードの罠があります。
「コードを書かない」ことは、自由度を犠牲にしているということ。
ノーコードツールの提供者が用意した範囲でしか、アプリを作れません。
でも、Claude Codeなら、コードを「書かない」けど「書ける」状態が作れます。
私が書くんじゃなくて、AIが書く。
私はディレクターになる。
結果、「ノーコードの自由度」と「コードの拡張性」両方が手に入る感覚。
これは、衝撃でした。
「個人開発のハードル」が消えた
これまで、個人開発のハードルは、明確に2つありました。
- 言語・フレームワークの習得
- 環境構築・配布の手間
Androidアプリを作るには、Kotlin/Java を学ぶ必要がありました。
Android Studio をインストールして、Gradleの設定を理解して、エミュレータを立ち上げて。
「アプリを作りたい」より先に、「環境を作りたい」になる。
知らんて。
Claude Codeは、これらを全部肩代わりしてくれます。
「ヤメDokiを作りたい」と伝える。
クロ子が必要なツールをインストールしてくれる。
Kotlinのコードをサジェスト、Compose UIの構築、Room DBの設計、AdMobの組込、Firebase連携。
全部「分かったフリしてイエスマン」じゃダメで、レビューはする必要があります。
でも、ゼロからAndroid Studioの操作を覚える時間と比べたら、圧倒的に早い。
PowerAppsを「業務専用」に位置づけ直す
誤解しないでほしいんですが、私はPowerAppsを嫌いになったわけじゃありません。
むしろ、社内業務のアプリ化なら今でも第一選択肢。
業務システム × PowerAppsの相性は、最強です。
- Microsoft 365のデータと連携
- SharePointやTeamsとの統合
- Power Automateとの組み合わせ
- 社内の認証基盤(Microsoft Entra ID)との連携
これらが標準で揃っているのは、PowerAppsの真骨頂。
ただ、個人開発の文脈では出番がない。
用途別の使い分けが、私の今の運用です。
仕事ではPowerApps、個人ではClaude Code。
両方使えるのが、社内SEの強み。
Claude Codeで作った「ヤメDoki」の実体
具体的に、Claude Codeで何ができたのか。
「ヤメDoki」は、Kotlin × Jetpack Compose × Room DB × Gemini API × AdMobで構成されています。
- Kotlin:Androidの主流言語
- Jetpack Compose:UIフレームワーク
- Room DB:ローカルデータベース
- Gemini API:AIアドバイス機能
- AdMob:バナー広告
これらの技術スタックを、ほぼゼロ知識から数週間で組み立てられました。
もちろん、エラーには遭遇します。
Gemini APIのモデル名変更でハマる、APIキー露出インシデント、ビルド設定の沼。
普通にあります。
でも、その都度クロ子がトラブルシューティングを支援してくれる。
1人で詰まる時間が、激減しました。
ヤメDokiの開発で心折れかけた話は、別記事にまとめています。

PowerAppsに戻れるのか
Claude Codeを覚えてしまった社内SEは、PowerAppsに戻れるのか。
答えは、「業務では戻る、個人では戻らない」です。
業務アプリは、PowerAppsの方が圧倒的に楽。
社内ユーザーのライセンスもある、データ連携も組み込み済み、メンテも引き継ぎも楽。
「業務用アプリをわざわざKotlinで作る理由」は1ミリもありません。
でも、個人開発は別。
自由度、配布範囲、カスタマイズ性、収益化の選択肢。
全部 Claude Codeの方が圧倒的に有利。
用途別に、最強のツールを選ぶ。
これが、社内SEの個人開発スタイルだと思います。
「君を捨てた」と言いつつ
結論として、私はPowerAppsを完全に捨てたわけじゃありません。
明日も、業務でPowerAppsを開きます。
Patch関数で在庫を更新、Filter関数でデータを絞り込み、Power Automateフローでメール送信。
PowerAppsには、PowerAppsの居場所があります。
でも、個人開発で「アプリを作りたい」と思った瞬間、私は迷わずクロ子を選びます。
PowerAppsを使い倒した社内SEだからこそ、その境界線が見える。
これは、両方使った人間しか持たない感覚だと思います。
__
まとめ:用途別ツール選びのススメ
この記事のまとめです。
- 業務アプリ:PowerApps一択
- 個人開発:Claude Codeが圧倒的
- ノーコードの罠:自由度を犠牲にする
- AIコーディング:ノーコードの自由度+コードの拡張性
- 両方使える社内SEが最強
個人開発でアプリを作ってみたい社内SEの方は、ぜひClaude Codeを試してみてください。
PowerAppsを使い倒した経験は、Claude Codeでも活きます。
「データ設計」「画面遷移」「ユーザー体験」を考えるロジックは、ツールが変わっても同じ。
PowerApps、君を捨てるとは思わなかったけど、戻るときはいつでも待ってるよ。
業務でね。
はいはい。
関連記事として、Claude Code で実際にヤメDoki を開発した記録もあります。

PowerAppsを使った業務アプリの作り方は、初心者向けの記事を書いています。

PowerApps Patch関数の使い方も、よく見られています。


コメント