第6章 プロジェクトへのクライアントアプリとクラウドアプリのインポート

概要

既存のクライアントアプリとクラウドアプリをプロジェクトにインポートできます。インポートされる各アプリに対して RHMAP で git リポジトリーが作成されます。

インポートされるアプリは、本書で概説された以下の要件を満たす必要があります。

要件

  • RHMAP でホストされた Git リポジトリーからクローン、プッシュ、またはプルするには、プラットフォームで SSH キーを設定する必要があります。SSH キーをまだ追加していない場合は、SSH Key Setup を参照してください。

6.1. 空のプロジェクトの作成

本書では、現在 Studio にプロジェクトがないことを前提とします。ベアプロジェクトを作成するには、以下の手順に従ってください。

  1. Studio にログインします。
  2. Projects に移動します。
  3. + New Project をクリックします。
  4. Empty Project (空のプロジェクト) テンプレートを選択し、新しいプロジェクトに名前を付けます。
  5. Create ボタンをクリックします。
  6. プロジェクトが作成されたら、Finish をクリックします。

6.2. クライアントアプリのインポート

クライアントアプリを作成する前に、プロジェクトで少なくとも 1 つのクライアントアプリがすでに作成されていることを確認します。既存のアプリをインポートする場合は、クラウドアプリのインポートを参照してください。

  1. ベアプロジェクトで、Apps, Cloud Apps & Services に移動します。
  2. Apps ボックスで + をクリックします。
  3. Import Existing App をクリックします。
  4. 作成する App Type を選択します。アプリをインポートできるようにするには、クライアントアプリの要件を参照してください。
  5. Next をクリックし、インポートされたアプリに名前を付けます。
  6. アプリのインポート方法を選択します。

    • パブリック Git リポジトリー

      クライアントアプリが含まれるパブリック Git リポジトリーの URL とブランチ名を入力します。デフォルト値は master です。

    • Zip ファイル

      コンピューターで、クライアントアプリの内容の単一の ZIP アーカイブを作成します。

      zip -r app.zip ./ -x *.git*

      Studio で、アップロードする ZIP ファイルを選択します。

    • Bare Repo

      アプリのコードをプッシュできる空のリポジトリーが作成されます。

  7. Import & move on to Integration をクリックします。クライアントアプリがプロジェクトにインポートされます。

    Bare Repo オプションを使用してインポートしたら、Already have a git repo をクリックし、表示された手順を実行します。

    Zip File または Bare Repo オプションを使用してインポートしたら、RHMAP SDK の統合に関する手順が表示されます。

  8. Finished - Take me to My App! をクリックします。

6.3. クラウドアプリのインポート

  1. ベアプロジェクトで、Apps, Cloud Apps & Services に移動します。
  2. Cloud Code Apps ボックスで + をクリックします。
  3. Import Existing App をクリックします。
  4. 作成する App Type を選択します。アプリをインポートできるようにするには、クラウドアプリの要件を参照してください。
  5. Next をクリックし、インポートされたアプリに名前を付けます。
  6. 初期デプロイメント環境を選択します。

    クラウドアプリは、インポート後すぐに選択された環境にデプロイされます。初期デプロイメントを省略する場合は、None を選択します。

  7. アプリのインポート方法を選択します。

    • パブリック Git リポジトリー

      クラウドアプリが含まれるパブリック Git リポジトリーの URL とブランチ名を入力します。デフォルト値は master です。

    • Zip ファイル

      コンピューターで、クラウドアプリの内容の単一の ZIP アーカイブを作成します。

      zip -r app.zip ./ -x *.git*

      Studio で、アップロードする ZIP ファイルを選択します。

    • Bare Repo

      アプリのコードをプッシュできる空のリポジトリーが作成されます。

  8. Import & move on to Integration をクリックします。クラウドアプリがプロジェクトにインポートされます。

    Bare Repo オプションを使用してインポートしたら、Already have a git repo をクリックし、表示された手順を実行します。

  9. Finished - Take me to My App! をクリックします。

6.4. クライアントアプリの要件

クライアントアプリをプロジェクトにインポートする前提条件は、作成するクライアントアプリの種類によって異なります。

6.4.1. Cordova Light アプリ

"www" ディレクトリーのみが公開された標準的な Cordova 3.x アプリ。 これらのアプリでは、標準的な Web テクノロジー (HTML5、CSS、JavaScript) を使用します。ネイティブコードは使用しません。

これらは、プラットフォームの使用方法を学ぶための最も単純なアプリですが、開発者は標準的な Cordova プラグインのみを使用するよう制限されます。これは、config.json ファイルを使用して実現されます (Cordova プラグイン)。

要件

ソースファイル (たとえば、HTML、CSS、および JavaScript) は、www ディレクトリーに存在する必要があります。

6.4.2. Cordova アプリ

標準的な Cordova 3.x モバイルアプリケーション。これらのアプリは Web テクノロジーとネイティブコードの組み合わせで構成されます。基礎となるネイティブプロジェクトと Cordova ライブラリーは開発者に公開され、アプリ (Cordova プラグインとサードパーティー製 SDK を含む) の完全なカスタマイズが可能になります。

通常、これらのアプリのネイティブコードを記述または変更するのにかかる時間は比較的短く、小規模な開発チームのみがネイティブコードを扱う必要があります。開発チームはネイティブコードを開発、設定、および管理し、標準的な Cordova プラグインの手法を使用して追加のプラグインまたは SDK を Web 層に公開できる必要があります。

開発チームは、ネイティブコードについてほとんど心配する必要がありません。開発チームは、引き続き純粋な Web 技術を使用して開発を行えますが、ネイティブ層から公開された追加の機能も利用できます。

要件

  • サポートされる最小 PhoneGap バージョン: 3.0
  • PhoneGap 3.x の標準的な構造に準拠し、以下のファイル/フォルダーを含む必要があります。

    • www/index.html
    • www/config.xml
    • platforms/
    • plugins/
    • merges/
    • .cordova/

6.4.3. Web App

Node.js + Express Web アプリケーション。これらのアプリは、高度なモバイル Web サイトとデスクトップブラウザー Web ポータルを提供します。この場合、非常に強力な Node.js (Jade などのテンプレートエンジンを使用したサーバーサイドテンプレートなどの機能を含む) を使用して Web アプリ開発を行えます。また、標準的な HTML5、CSS、および JavaScript 向けの静的ファイルの提供もサポートされます。

要件

  • 以下のファイルが / にある Node.js アプリである必要があります。

    • package.json
    • application.js - Node.js アプリがデプロイされたときに開始されるスクリプト
  • 以下のように、アプリが FH_PORT 環境変数を介して指定されたポートをリッスンする必要があります。

    app.listen(process.env.FH_PORT)

6.4.4. ネイティブ Android

ネイティブの Android アプリ。

要件

  • Ant または Gradle ベースの有効な Android プロジェクト (Eclipse または IDEA に基づいて Android Studio で作成) である必要があります。Ant ベースのプロジェクトでは、/ (プロジェクトルート) に AndroidManifest.xml ファイルが含まれる必要があります。
  • 最小 Android プラットフォームバージョン: 2.3 (API レベル 9)。
  • すべての依存関係は、Android SDK または Maven リポジトリーのいずれかで利用可能である必要があります。

6.4.5. ネイティブ iOS

ネイティブ iOS アプリケーション。

要件

  • ローカルで適切にビルドおよびコンパイルされる有効な Xcode プロジェクトである必要があります。
  • 最小 iOS OS ターゲットバージョン: 7.0。

6.4.6. ネイティブ Windows Phone 8

ネイティブ Windows Phone 8 アプリ。

要件

  • Visual Studio 2012 Express で作成された有効な Windows Phone 8 プロジェクトである必要があります。
  • Windows Phone SDK バージョンが Windows Phone 8 以上である必要があります。

6.4.7. Xamarin

Xamarin アプリ。

要件

Xamarin Studio または Visual Studio のいずれかで作成された有効な Xamarin ソリューションである必要があります。

6.5. クラウドアプリの要件

  • 以下のファイルが / にある Node.js アプリケーションである必要があります。

    • package.json
    • application.js - Node.js アプリがデプロイされたときに開始されるスクリプト
  • 以下のように、アプリが FH_PORT 環境変数を介して指定されたポートをリッスンする必要があります。

    app.listen(process.env.FH_PORT)