RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/アプリ開発
アプリ開発/2026-04-11中級

Gemma 4をアプリ開発に活かす:オンデバイスAIの最前線

Googleが2026年4月にリリースしたGemma 4のE2B/E4Bモデルを使って、iOSやAndroidアプリにオンデバイスAIを組み込む方法を解説。プライバシー・オフライン動作・低レイテンシを実現する実践ガイドです。

Gemma 42アプリ開発77オンデバイスAI13iOS108Android43Rork515モバイルAI3

2026年4月2日にGoogleがリリースしたGemma 4は、モバイルアプリ開発者に新しい可能性を開いています。特にE2B(Effective 2B)とE4B(Effective 4B)は、スマートフォンに組み込むことを意識して設計された軽量モデルで、テキスト・画像・音声のマルチモーダル処理をデバイス上で直接実行できます。

オンデバイスAIのメリット

クラウドAPIではなくデバイス上でAIを動かすことには、大きな利点があります。

プライバシーの保護がまず挙げられます。ユーザーのデータがサーバーに送信されないため、個人情報・医療情報・ビジネス機密を扱うアプリでも安心して利用できます。GDPRや個人情報保護法などの規制対応にも有利です。

オフライン動作も大きな強みです。機内モードや地下など通信環境の悪い場所でも、AIの機能をフル活用できます。ユーザー体験の一貫性が保たれます。

低レイテンシも重要です。ネットワークのラウンドトリップがないため、AIの応答が即座に返ってきます。リアルタイムの音声処理や画像解析など、遅延に敏感なユースケースで特に効果的です。

コスト削減も見逃せません。API使用量に応じた従量課金がなくなるため、大規模なユーザーベースを持つアプリでは長期的なコスト面で有利になります。

Gemma 4 E2B / E4Bの仕様

Gemma 4のエッジモデルは以下の仕様を持っています。

E2Bはモデルサイズが2B(20億)パラメータ相当で、モバイルデバイスに最適化された軽量設計です。E4Bは4B(40億)パラメータ相当で、E2Bより高い精度が必要なケースに対応します。両モデルともコンテキストウィンドウは128,000トークンで、入力モダリティはテキスト・画像・動画・音声に対応しています。対応言語は140以上です。

iOSアプリへの統合

iOSアプリにGemma 4を組み込む主な方法は二つあります。

MediaPipe経由での組み込み

GoogleのMediaPipeフレームワークを使うと、LLMをiOSアプリに比較的簡単に統合できます。

import MediaPipeTasksGenAI
 
// LLMInferenceの初期化
// gemma-4-e2b-it.task ファイルを事前にバンドルしておく必要があります
guard let modelPath = Bundle.main.path(forResource: "gemma-4-e2b-it", ofType: "task") else {
    print("モデルファイルが見つかりません")
    return
}
 
let options = LlmInference.Options(modelPath: modelPath)
options.maxTokens = 1024
options.temperature = 0.7
 
do {
    let llmInference = try LlmInference(options: options)
    
    // テキスト生成の例
    let response = try llmInference.generateResponse(
        inputText: "このレシートの金額を合計してください:\(receiptText)"
    )
    print(response)
} catch {
    print("エラー: \(error)")
}

Core ML経由での最適化

Apple Siliconチップに最適化されたCore MLフォーマットに変換することで、さらに高速な推論が可能です。

# Pythonスクリプト:Gemma 4をCore MLに変換(前処理)
import coremltools as ct
from transformers import AutoModelForCausalLM, AutoTokenizer
 
# HuggingFaceからモデルをロード
model_id = "google/gemma-4-e2b-it"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
 
# Core MLに変換
traced_model = ct.convert(
    model,
    inputs=[ct.TensorType(shape=(1, 512))],
    compute_units=ct.ComputeUnit.ALL  # Neural Engineを活用
)
traced_model.save("gemma4_e2b.mlpackage")

Androidアプリへの統合

Androidでは、MediaPipeの他にLiteRTを使ったアプローチが有効です。

// Android Studio でのGemma 4統合例(Kotlin)
import com.google.mediapipe.tasks.genai.llminference.LlmInference
import com.google.mediapipe.tasks.genai.llminference.LlmInferenceOptions
 
class GemmaManager(private val context: Context) {
    
    private lateinit var llmInference: LlmInference
    
    fun initialize() {
        val modelPath = "${context.filesDir}/gemma-4-e2b-it.task"
        
        val options = LlmInferenceOptions.builder()
            .setModelPath(modelPath)
            .setMaxTokens(1024)
            .setTemperature(0.7f)
            .build()
        
        llmInference = LlmInference.createFromOptions(context, options)
    }
    
    // 非同期でテキスト生成
    suspend fun generateText(prompt: String): String {
        return withContext(Dispatchers.IO) {
            llmInference.generateResponse(prompt)
        }
    }
    
    // 画像を含むマルチモーダル入力
    suspend fun analyzeImage(bitmap: Bitmap, question: String): String {
        return withContext(Dispatchers.IO) {
            // MediaPipe Image を作成
            val mpImage = BitmapImageBuilder(bitmap).build()
            llmInference.generateResponse(question, listOf(mpImage))
        }
    }
    
    fun release() {
        llmInference.close()
    }
}

Rorkでの活用シナリオ

Rorkを使ってアプリを開発している場合、Gemma 4のAPIと連携することで強力なAI機能を実装できます。

// Rork + Gemma 4 APIの連携例(React Native / Expo)
// ローカルサーバー(LM Studio)経由でGemma 4を呼び出す
 
const callGemma4 = async (prompt, imageBase64 = null) => {
  const messages = [
    {
      role: "user",
      content: imageBase64
        ? [
            {
              type: "image_url",
              image_url: { url: `data:image/jpeg;base64,${imageBase64}` }
            },
            { type: "text", text: prompt }
          ]
        : prompt
    }
  ];
 
  const response = await fetch("http://localhost:1234/v1/chat/completions", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      model: "gemma-4-e4b",
      messages,
      temperature: 0.7,
      max_tokens: 512
    })
  });
 
  const data = await response.json();
  return data.choices[0].message.content;
};
 
// 使用例:カメラで撮影した商品の説明を生成
const analyzeProduct = async (cameraPhoto) => {
  const base64Image = await photoToBase64(cameraPhoto);
  const description = await callGemma4(
    "この商品について日本語で簡単に説明してください",
    base64Image
  );
  return description;
};

実用的なユースケース

Gemma 4をモバイルアプリに組み込むことで実現できる具体的な機能をいくつか挙げます。

リアルタイム翻訳: カメラで看板や文書を撮影すると、Gemma 4がOCRと翻訳を同時に行います。オフラインでも動作するため、海外旅行での実用性が高いです。

音声メモのAI整理: 音声入力(E2B/E4Bの機能)で録音したメモを自動的に要約・分類します。ネットワーク環境に依存しないため、電波の届かない場所でも使えます。

医療・ヘルスケアアプリ: 食事の写真を撮ると栄養情報を推定したり、症状を入力すると一般的な情報を提供したりする機能を、プライバシーを守りながら実現できます(ただし医療判断の代替ではありません)。

ビジネス文書処理: 名刺や領収書の写真からデータを抽出し、CRMや経費精算システムに自動入力する機能を、クラウドに送信せずに実現できます。

全体を振り返って

Gemma 4のE2B/E4Bは、これまでクラウドAPIに頼るしかなかったAI機能をデバイス上で実現する新しい道を切り開いています。Apache 2.0ライセンスで商用利用でき、プライバシー・オフライン動作・低レイテンシという三拍子揃ったオンデバイスAIは、モバイルアプリ開発者にとって非常に魅力的な選択肢です。

Rorkと組み合わせることで、AIを核心に据えた新しいアプリ体験を素早くプロトタイプできます。ぜひGemma 4を活かしたアプリ開発に挑戦してみてください。

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Rork 入門2026-04-08
【プレミアム見本】Rork完全入門ガイド:プログラミング不要でiOS・Androidアプリを作る全手順
Rorkを使って本格的なモバイルアプリを作る方法を、初心者向けに丁寧に解説。アイデアの出し方からApp Store公開まで、プレミアム品質のガイドを無料公開します。
開発ツール2026-04-02
Rork アプリにネイティブ共有機能を追加する — Share Sheet 実装ガイド
Rork アプリにネイティブ Share Sheet を実装する入門ガイド。テキスト・URL・画像のシェアから SNS 連携・ディープリンク連携まで、実際のコードで丁寧に解説します。
アプリ開発2026-06-29
クリップボード連携のUXを整える — iOSのペースト許可バナーを増やさずに「コピー」と「貼り付け」を成立させる
expo-clipboard で「コピー」と「貼り付け」を実装するとき、iOS のペースト許可バナーが頻発して使い勝手を損なうことがあります。バナーの発生条件を押さえ、hasStringAsync で内容を読まずにボタンを出し分ける設計をまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →