サイトのトップへ戻る

Multi-OS Engineドキュメント 日本語訳

サイト内検索

紹介

Intelの Multi-OS Engine テクノロジープレビューを使うことで、 ネイティブな使い心地とパフォーマンスを持った Apple iOS端末と Android端末用のネイティブアプリケーションを、 Javaで開発することができます。 これには、Windowsおよび Apple macOSの開発機上のAndroid Studioに組み込むことができる独立したプラグインが用意されています。

アプリケーションは、Android Studio上ではAndroid プロジェクトとして開始されます。 Android Studioから起動できるiOS シミュレータ上やiOS の実機上で実行する際には、 Multi-OS Engineが、そのプロジェクトをiOSアプリとしてビルドして実行するように設定します。

./img/intro1.png

Multi-OS Engine の主な機能は以下の通りです:

  • iOS 端末上でJavaをサポート。
  • Apple のObjective-CではなくJavaを使ってiOS アプリを開発できる。
  • 対応している各プラットフォームごとのプラットフォーム固有UIコンポーネントに直接アクセスできる。
  • ネイティブのマルチスレッド機能をサポート。
  • 実機上や Android Studioに組み込まれたiOS シミュレーター上でアプリをデバッグできる。
  • Running/deploying apps from Apple App Store*.

開始するには、はじめる 項目の説明に従ってください。



Multi-OS Engine のアーキテクチャ概要

Multi-OS Engine ラインタイムは、最新のAndroid ARTに基づいています。 Android ARTとは、Javaアプリを実行するためのAndroid のランタイムコンポーネントです。

ART は、iOS端末上のアプリを最適なパフォーマンスにするいくつかの機能を持っています:

  • アプリのパフォーマンスを向上できるAhead-of-time (AOT) コンパイル。
  • Androidと同じJava ランタイムライブラリを使用して、クロスプラットフォームアプリの開発を簡素化します。
  • 強化されたメモリ管理とガベージコレクション。

コンパイルされた Multi-OS Engine アプリには以下のコンポーネントが含まれています:

  • コンパイルされたJava ソース。
  • リソース。
  • 標準(iOS)ライブラリの関連ファイル。
  • サードパーティ製のネイティブライブラリとその関連ファイル。
  • Nat/J native library for the Java to native binding that enables the implementation of native classes and functions in pure Java and makes them available to the native side.
  • Multi-OS Engine ART 拡張機能を備えた、特別なART 仮想マシン(VM)。
./img/intro2.png

iOS アプリが起動した時、 ART VM が起動してその上で事前コンパイルされたコードが実行されます。



Multi-OS Engineを使ったiOS開発の流れ

./img/intro3.png
  1. Android Studio上でAndroid プロジェクトを作成します。 iOS アプリを設定するには、Multi-OS Engine プロジェクトの設定を新規に追加します。 以降の手順では、Multi-OS Engineを使ったiOS アプリの作成方法についてのみ説明します。 Android StudioでAndroid アプリをビルドする手順については既に知っているものとして話を進めていきます。
  2. Apple Xcode上でiOS用のユーザーインタフェース(UI)を設計します。
  3. NatJ ランタイムライブラリを使ってUIとJavaを紐付けます。
  4. Android Studio には、アクションハンドラーとiOSのUI要素を紐付けることができるインテリセンス機能が実装されています。
  5. iOS シミュレーターを実行できるmacOS 開発機上ではローカルビルドがサポートされています。Windows開発環境の場合、クラウドビルドがサポートされています。
  6. iOS アプリケーションは、Multi-OS Engineの設定によってAndroid Studio に組み込まれたシミュレーター上で実行したり、USB デバッグを使って実機上で直接実行したりできます。
  7. iOS端末の場合はApple App Storeへ、Android 端末の場合はGoogle Play Storeへ、アプリを公開してダウンロードすることでアプリを実行します。
  8. この手順を繰り返します。最終目標は、これら二つのアプリ間で可能な限り多くのコードを使い回すことです。