0. ちょっとだけ自己紹介
こんにちは、ルークシム株式会社 でアプリやらwebサービスやらを開発しています。
社内アプリをテスト用に “サクッと配りたい勢” のみなさん、日頃こんなモヤモヤありませんか?
- USB ケーブルで 毎回 インストール → 地味に面倒
- DeployGate みたいなサービスはあるけど、
- 月額がちょっと高い…
- 機能が多すぎて “配布しか要らん!” な時にダルい…
ここをシンプルに解決したくて、社内ツールとしてちゃちゃっと作ったもの を
そのままサービス化したのが AppShot です 🎉
👀 試してみたい人はこちら(営業) → https://app-shot.com/
1. AppShot って結局なにができるの?
やれること | ひとことで |
---|---|
📲 かんたんインストール | URL タップだけ。USB 不要。 |
🔗 かんたん共有 | 「このリンクどうぞ!」でおわり。 |
🔐 ちゃんと安全 | パスワード or メンバー限定公開。 |
🚀 高速テストフロー | CI/CD で自動デプロイ → すぐテスト。 |
🤝 主要 CI/CD と連携 | GitHub / GitLab / Jenkins など。 |
💰 業界最安(たぶん) | 他社の 1/4 くらい(自社調べ)。 |
2. 技術スタックざっくり
🖼 フロントエンド
- Vue 3 + TypeScript
- Vuetify でサクッとマテリアルデザイン
- Vue Router & Vue I18n(日本語 / 英語)
⚙️ バックエンド(ぜんぶ AWS)
- API Gateway + Lambda:REST API
- Cognito:ユーザー認証
- RDS(Aurora MySQL)
- S3 + CloudFront:アプリ & 静的ファイル配信
- CloudWatch:ログ & アラート
ポイント:全部サーバーレスなので放っておいてもスケールするし、
メンテコストも比較的安価です 🙌
- SPA は CloudFront でキャッシュ
- API はリージョン内の Lambda へ
- 認証は Cognito、ファイルは S3 直アップロード(署名付き URL)
3. I18n の書き方
Vue I18n を <i18n>
ブロックに埋め込むと コンポーネント完結 にしました。
意図としては、改修時に、コンポーネント内に定義することですぐに対象の言語を探せるようにしています。
言語データをまとめる方法もありますが、探すのが大変になるので1ファイルにまとまる形にしました。
<i18n lang="yaml">
ja:
easyInstall: "USBケーブル不要でアプリを簡単インストール"
en:
easyInstall: "Install apps easily without USB cables"
</i18n>
4. 料金プラン(ざっくり)
プラン | 月額 | 想定ユーザー |
---|---|---|
🆓 個人 | ¥0 | 趣味アプリ配布 |
💼 事業者(月契約) | ¥★ | 小規模チーム |
🏢 事業者(年契約) | ¥★★ | ガッツリ使う会社 |
※ ★は公式サイトでチェックしてください!
5. CI/CD との連携例(GitHub Actions)
name: Deploy to AppShot
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build APK
run: ./gradlew assembleRelease
- name: Upload to AppShot
env:
APS_API_KEY: ${{ secrets.APS_API_KEY }}
run: |
curl -F "file=@app-release.apk" \
-F "changelog=$(git log -1 --pretty=%B)" \
https://api.app-shot.com/v1/upload
6. まとめ
“配布だけ” に全振りしたら、想像以上にラクでした。
もし
テストのたびに USB つなぐのがメンドイ…
DeployGate 高い…
と感じているチームがいたら、ぜひ一度使ってみてください 🙌
おわりに
- 個人なら無料 なので、気軽にどうぞ!
- 感想・要望・バグ報告、大歓迎です。
P.S.
Qiita に記事を書くのは久しぶりなので、
「ここもっと詳しく!」などあればコメントでお気軽に 🤗