Teigha Cloudのモバイルクライアント要件の比較
Teigha Cloud用のモバイルクライアントを作成する際、異なるモバイルプラットフォームで特異な点に直面することがあります。この記事では、iOSとAndroidプラットフォーム間のいくつかの違いについて説明します。
ネットワーキング
異なるプラットフォームでは、HTTPクライアントのAPIは大きく異なります。クライアントの主な要件は、Teigha Cloudサーバーがグラフィックデータをクライアントに送信するためにロングポールメカニズムを使用するため、ロングポールリクエストをサポートすることです。
- iOSはhttp/httpsリクエストにNSURLSessionとNSURLConnectionを使用します。
- Androidはこれらの目的のためにUrlConnectionとNetworkFragmentを使用します。デフォルトクライアントのラッパーを使用することをお勧めします(下記参照)。
OpenGL画面
Teigha CloudはOpenGL ES 2.0を使用します。アプリはGL ES2をサポートしている必要があり、モバイルOSのSDKにはそれを使用するためのツールが必要です。
- iOSはGL ES2を操作するためにGLKViewControllerとGLKView(GLKitにあります)を使用します。GLKViewControllerにはGLKViewが組み込まれています(こちらを参照)。
- AndroidはGLSurfaceViewとGLSurfaceView.Rendererを使用します。GLSurfaceViewには、深度色の設定や画面更新ポリシーの設定など、画面を構成するためのメソッドが含まれており、GLSurfaceView.Rendererにはレンダリング構成が含まれています(こちらとこちらを参照)。
推奨事項
モバイルアプリには以下のライブラリを使用することをお勧めします。
- Alamofire(iOS): 非同期処理とロングポーリングに対応したRESTクライアント。
- Haneke(iOS): アップロードされたファイルのプレビューをダウンロードするのに役立つツール。
- JASON: 高速JSONパーサー。
- AsyncHttpClient(Android): バックグラウンド処理とロングポーリングに対応した非同期RESTクライアント。
- Picasso(Android): アップロードされたファイルのプレビューをダウンロードします。
- Moshi(Android): JSONパーサー。