Upgrade to Pro — share decks privately, control downloads, hide ads and more …

めんどくさがりのためのブラウザ拡張開 発の最適解 <WXT + ExtensionPayで個人開発>

Avatar for てば てば
February 13, 2026

めんどくさがりのためのブラウザ拡張開 発の最適解 <WXT + ExtensionPayで個人開発>

Avatar for てば

てば

February 13, 2026

More Decks by てば

Other Decks in Programming

Transcript

  1. 今日話すこと 1. Lofi BGM Player って何? 2. 拡張機能開発のめんどくさいポイント 3. WXT

    - めんどくさいを全部やってくれる 4. ExtensionPay - 課金実装もめんどくさくない 5. めんどくさがりでもできるTips 6. まとめ 3
  2. めんどくさいポイント その3 ブラウザごとに違う → 設定ファイル多すぎ問題 Chrome: Manifest V3 + Service

    Worker Firefox: Manifest V2 + Background Script Edge: Chrome と同じ...? → ブラウザごとに設定が違うから... ├── manifest.json # Chrome用 ├── manifest.v2.json # Firefox用だと別ファイル... ├── webpack.config.js # 200行超え... └── ... → コード書く前に疲れる 10
  3. WXT とは https://wxt.dev/ めんどくさがりのためのフレームワーク npx wxt@latest init my-extension cd my-extension

    npm run dev # これだけ。終わり。 設定ファイル? 書かなくていい。 12
  4. 3ブラウザ対応もコマンド1つ npm run dev # Chrome で開発 npm run dev:firefox

    # Firefox で確認 npm run dev:edge # Edge で確認 コードは1つ。ビルドは WXT が勝手にやる。 14
  5. ブラウザ分岐も勝手にやってくれる if (import.meta.env.FIREFOX) { // Firefox 用(これだけ書けばいい) audio = new

    Audio(url); } else { // Chrome/Edge 用 await createOffscreenDocument(); } ビルド時に不要なコードは自動で消える 15
  6. アイコンも自動生成 @wxt-dev/auto-icons モジュール // wxt.config.ts export default defineConfig({ modules: ['@wxt-dev/auto-icons'],

    autoIcons: { baseIconPath: 'assets/icon.svg' } }); SVG 1枚 → 4サイズ自動生成。神。 16
  7. ExtensionPay なら数行で終わる https://extensionpay.com/ import ExtPay from 'extensionpay'; const extpay =

    ExtPay('your-extension-id'); // これで課金チェックできる const user = await extpay.getUser(); if (user.paid) { // Pro機能を有効化 } // 課金ページを開く extpay.openPaymentPage(); 19
  8. ExtensionPay のいいところ Stripe ベース → 信頼性あり サーバー不要 → 管理めんどくさくない 買い切り

    / サブスク対応 手数料: Stripe手数料 + 5% めんどくさいことは全部やってくれる 20
  9. Stripe 審査は LP で突破 ExtensionPay は Stripe 連携が必要 → 「事業のウェブサイト」を求められる

    GitHub Pages で LP 作ればOK 特定商取引法に基づく表記 プライバシーポリシー 22
  10. デプロイもめんどくさくない 従来: zip作成 → 各ストアにログイン → 手動アップロード → 確認画面ポチポチ... →

    承認可否 WXT: npx wxt submit --chrome-zip ... --firefox-zip ... # 終わり。 一度公開したら、最終確認画面すら見なくていい。 23
  11. 作ったら OSS コントリビュート WXT の Example Projects に追加できる PR 出すだけで

    OSS 貢献実績になる → 実際に出しました: wxt-dev/wxt#2056 → 作者の方がめちゃくちゃ雰囲気いい人 24
  12. ExtensionPay のデメリット 日本語情報ほぼゼロ 個人運営サービス → 保守が続くか不透明(v1.0.0 は 2021年1月) 追加手数料 5%

    → Stripe手数料に上乗せ 売上の約9%が手数料になる (Stripe 3.6% + ExtensionPay 5%) → それでもサーバー運用よりは楽。最悪捨ててもいいサービスにしておく 27
  13. めんどくさがりのためのブラウザ拡張開発 の最適解 めんどくさいこと 解決策 設定ファイル WXT (ゼロコンフィグ) 手動リロード WXT (自動リロード)

    複数ブラウザ対応 WXT (自動) 課金実装 ExtensionPay デプロイ GitHub Actions 全部やってくれる。最高! 31