私の仕事は、iPad アプリケーションを Android に (つまり、Objective-C から Java に) 移植することです。私は Android 環境で開発しましたが、iOS では開発したことがありません。現在、アドバイスを探しています。これをより簡単に行うのに役立つ方法、方法、またはプロセスがあるかどうかを知りたいです。
2 に答える
この段階では、一般的に答えはノーですが、役立つかもしれないいくつかの提案があります。
UIWebView/Webkit を広範囲に使用します。HTML5 メディア (および SVG) を除いて、HTML をレンダリングするときに必要な移植はほとんどありません。一方でレンダリングしたものは、通常、他方でも適切にレンダリングされます。
iOS アプリが、この編集を表示するという基本的なスタイルのアプリである場合、PhoneGap、jQuery Mobile、Titanium、または新しい Adobe スイートがより良い時間投資になることがあります。
Android には一貫したデバイス ベースがなく、アニメーションが豊富な UI の開発が困難なため、UI を 1 対 1 で比較することはできません。代わりに、提供する機能と、その基礎となるデータおよびビュー モデルについて考えてください。
舞台裏の結合ロジックはプラットフォーム固有ですが、同様の UIViewController/Activities 構造を作成できるはずです。これをいくつかの紙に計画してください。これにより、UI スケルトンの次の非常に優れた計画が作成されます。
「入力データ」と「出力データ」の間の中間抽象化を優先して、すべてをビットにハッキングすることなくパーサー/キット/API/フレームワークを交換できるようにします。
カスタム描画ルーチンとグラフィックがある場合は、フィラー グラデーションまたは色があることを確認してください。Android はボックス モデルを使用して多くの画面サイズをサポートしていますが、iOS には 4 つの解像度しかありません。同じ外観を再現するには時間がかかりすぎる場合があります。アートワークを作成する正当な理由が得られるまでは、対照的なパステル カラーが適切なプレースホルダーです。
これまでに言われていないことを言えることは、これ以上ありません。
お役に立てれば!
いくつかのアドバイス:
- ほとんどの場合、タブレット PC であり、ほとんどの Android デバイスと比較して画面が大きい iPad として、UI の再設計を行う必要があります。アドバイス: 再設計段階で非常に役立つ可能性があるため、iPhone 専用のアプリケーションのバージョンがあるかどうかを確認してください。
- iPad コードに Objective-C コードの他に C/C++ コードも含まれているかどうかを確認します。大量のコードがある場合は、C/C++ コードを Java と一緒に使用できるようにする Android NDK の使用を検討してください。
- iPad アプリケーションが、HTML5/CSS/JavaScript の組み合わせに基づく一般的なクロスプラットフォーム フレームワーク (PhoneGap など) の 1 つを使用していた場合、ほとんどのコードを再利用できる可能性があります。HTML5 のレンダリングを担当する iPad と Android の両方のブラウザー/UI 要素は、同じエンジン (WebKit) に基づいており、一般的に同様のエクスペリエンスを生成します。注: 一部のフレームワークでは、ネイティブ機能へのカスタム アクセスが許可されており、ほとんどの場合、書き換えが必要になります。
- ユーザー インターフェイスのガイドラインと矛盾する場合は、Android でまったく同じ UI を作成しようとしないでください。おそらくご存じのとおり、ガイドラインは次の URL で入手でき ます。また、iPad に存在する Android 用の同様のコントロールを作成するのは、非常に困難な場合があります。同じ「ルック アンド フィール」を作成するというプレッシャーがある場合は、そのようなプレッシャーから身を守る方法を説明する投稿を次に示します。iPhone アプリケーションを Android に移植しますか? しないように説得する方法
- iPad に存在する多数の機能が Android では利用できなくなります (例: 画像のみを使用した Android アプリケーションのスプラッシュ画面)。そのため、iPad アプリケーションを分析し、一連の機能に分解します。それらを取得したら、それらを Android API にマップして、コーディングを開始できます。
- 現時点では、Objective-C から Java へのコンバーターはありません (これは将来変更される可能性があります)。 Tensor Information Systems Inc.