Android と iPhone の両方を対象とするアプリケーションを開発したいと考えています。彼らはJavaとObjective-Cを使用していると思います。Python のような単一の言語を使用できますか? 最適なルートですか?Python を使用すると、パフォーマンスや機能などが失われますか? 制限事項はありますか?
4 に答える
Android または iPhone プラットフォームのいずれかで Python を使用することはできません。これは Apple SDK ライセンスによって明らかに除外されていますが、Android には実際にはAndroid スクリプト環境がありますが、それが最終ユーザー向けではないことがすぐにわかります。いずれにせよ、Python が iPhone でサポートされていないという事実は、これをクロスプラットフォームのオプションとして除外します.
Android と iPhone をサポートする真のクロスプラットフォーム アプリを構築するには、HTML5 を使用するしかないと思います。もちろん、HTML5 アプリは完全にネイティブではありませんが、デバイスまたはサイトでローカルにホストされている HTML5 コンテンツを使用し、それをネイティブ veb ビューで表示する混合設計を思い付くかもしれません。
純粋な HTML5 アプリは、HTML5 であり CocoaTouch (Android) アプリではないという点で、完全にネイティブではありません。HTML5 で許可されていることと、HTML5 のルック アンド フィールでのみ実行できます。主な制限の 1 つは、加速度計やジャイロなど、デバイスで利用できる特別なハードウェアが利用できないことです。とにかく、多くの柔軟性とクロスプラットフォームの互換性を最大限に提供します.
これは極端です。もう 1 つの極端な例は、「完全ネイティブ アプリ」です。つまり、Objective C/Cocoa Touch または Java/Android で開発されたアプリです。SDK、特別なハードウェア、ネイティブのルック アンド フィールへのフル アクセス、プラットフォーム間の互換性なし。
混合アプリである 3 番目の可能性があります。ネイティブのスケルトン UI (たとえば、iPhone ではナビゲーション ベースのアプリ) を定義し、HTML5 を介してビューのコンテンツと詳細なインターフェイスを提供できます。スケルトン UI は移植できませんが、純粋な HTML5 アプリでできることよりもはるかに多くのことができるようになります。通常、このアプローチでは、アプリで HTML ビューア クラスを使用する必要があるため、スケルトン UI + ネイティブ Web ビューア + HTML5 コンテンツが得られます。
「デバイスでローカルにホストされている HTML5 コンテンツ」について: HTML5 アプリを Web サーバーでホストするか、ローカルでデバイスにホストしてそこから読み込むことができます (Web アクセスなし)。
弾丸をかじって、最終的に Java と C/Objective-C の両方を学習するという最終目標を目指すことを検討します。ここにいくつかの比較があります。したがって、Java/Android で簡単なアプリを作成し、iOS/C/Objective C でそれを複製しようとするかもしれません。星が月に着陸するというこの目標を達成しようとすると、1 年間で学んだ言語の数を忘れてしまいます。一生。
私が知っている最も近いものは、MonoTouchおよびMonoDroidプロジェクトです。Objective-C (iPhone の場合) や Java (Android の場合) ではなく、C# コードを記述できます。さまざまな UI モデルの一般化された抽象化がないため、問題は UI で発生します。理想的には、UI に結び付けられないようにコア ビジネス/ドメイン/あらゆるコードを記述し、その方法で再利用することができます。
@Snicolas が言及した Appcelerator は見たことがありませんが、両方のプラットフォームで完全な抽象化を提供するのに優れている可能性があります。
phonegapは、javascript、html を使用して iphone と android をターゲットにするために使用できる方法の 1 つです。