2011-11-09 7 views
5

私はクロスプラットフォームとなるアプリケーションを開発する予定で、IOSとAndroid用にリリースされる予定です。xCodeとAndroid SDKとAdobe Flexとの比較

私のアプリケーションはネットワーク接続を使用し、サーバーと通信するため、高速で信頼性が高く応答性が高い必要があります。

私の質問は:IOSとAndroidのためにそのアプリケーションを構築するためにAdobe Flexを選択した場合、パフォーマンスの問題はありますか?

xcodeまたはAndroidのSDKを使用する理由がない場合は、 Adob​​e FlexをxCodeおよびAndoid SDKで使用する際の短所は何ですか?

答えて

14

一般に、クロスプラットフォームを使用して「一度書き、多くのプラットフォーム用に構築する」ツールを使用すると、一部の(またはすべての)デバイス固有またはプラットフォーム固有の機能を利用できなくなる可能性があります。あなたは事実上、最小の共通分母のソルーションを選択しています。つまり、ターゲットとするすべてのプラットフォームで利用可能なプラットフォーム機能のみを利用できます。

Xcodeを使用してiOSアプリを構築し、Android SDKを使用してAndroidアプリを構築することで、特定のプラットフォームの特定の機能すべてに完全にアクセスできるようになり、各プラットフォームでの最高のユーザーエクスペリエンス

これは私の意見です。ネイティブアプリは、ユーザーにネイティブエクスペリエンスを提示するだけで、プラットフォームのユーザーとして親しみを感じることができます。クロスプラットフォームツールを使用することを選択した場合、ユーザーは自分のデバイスで理想的でない経験をするように積極的に選択していますが、アプリを市場に出すのに多少の時間を費やしました。勝者は誰ですか?

私の仕事では、私の上司と私はこれについて具体的な会話を持っていました。私たちはプラットフォーム固有の機能をあきらめたくないので、ネイティブiOSとAndroidアプリを目的に使用しています。私たちは、各アプリがそのプラットフォーム上でできる最高の体験を提供したかったのです。私たちは、クロスプラットフォームのソリューションが私たちが望むやり方ではなかったことに特に合意しました。

+0

すごい素晴らしい答えをチェックしてください。 "これは今私の意見です。ネイティブアプリは、ユーザーにネイティブエクスペリエンスを提示するだけで、プラットフォームのユーザーとして親しみを感じることができます。 - 私はそれを言いたいと思う。 –

+3

明確化のポイントとして、AdobeのFlash Platformに固有のものです。 Adobe AIR 3では、ネイティブデバイスコードを呼び出して、Adobe AIRを介して公開されているAPIを超えてアプリを拡張する方法を紹介しました。この機能をネイティブ拡張と呼びます。 AIR/Flash Platformを使用しても、特定のプラットフォームの特定の機能すべてに完全にアクセスできないという議論は無効になります。 – JeffryHouser

+0

@ www.Flextras.com興味深いことに。しかし、あなたはまだネイティブコード、おそらくiOSのObjective-Cを呼び出しています。だから、iOSのネイティブ機能のためにObjective-Cから離れることはできません。 :-) –

-9

iOSでAdobe Flexを使用することはできません。調査する別のクロスプラットフォームソリューションはHTML5です。あなたに余裕があるなら、iOSの場合はxcode、Androidの場合はAndroidで1回、それを2回実装するのが最善の解決策です。

+6

-1です。 Adobe Flex(およびAdobe Flash Platformツール)を使用して、ネイティブiOSアプリケーションをかなりの期間作成することができました。アップルの開発者協定​​には短期間の騒ぎがあった。しかし、Appleはライセンスを変更し、多くのアプリケーションはFlashツールで構築されています。最近では、Flash搭載のアプリMacinariumがiOSのゲームチャートのトップです。 http://machinarium.net/demo/ – JeffryHouser

+1

Adob​​e Air – Bruce

3

Flexを使用して、AIR for iOSまたはAndroid用にコンパイルすることができます。 AIRとObjective CまたはJavaのパフォーマンスは大幅に遅くなります。 AIRを使用する利点は、1つのcod baseを2つのプラットフォームに配信することです。 しかし、ノウハウがあれば、Objective CとJavaはそれぞれのプラットフォームでの開発に適しています。しかし、多くの成功したアプリはAIRを使用してiOSとAndroidで起動されています。それがあなたのために働くかどうかを知りたいのであれば、私はiTunesやAndroid Marketでそれらのアプリを探して、彼らがあなたのためにどのように機能するかを見ていきます。 アプリがゲームではない場合は、うまくいく可能性があります。また、アプリが単純なゲームであれば、うまくいくかもしれません。 http://www.appcelerator.com/ http://phonegap.com/

あるいはユニティ3D: http://unity3d.com/

UPDATE: Novemerでこのオリジナルの答え以来 はまた、携帯電話のギャップ、またはappcelleratorなどから選択する他のマルチ=プラットフォームの開発ツールは、そこにある覚えAdobeは、iOSとAndroid用のAIRを大幅に改善しました。あなたが大規模な画像処理のような非常に込み入っていない限り、奇形の問題はごくわずかです。 同様に、Unity3Dも多く改良されました。 2Dまたは3Dのゲームに最適です。

7

あなたが構築しているものによって、Airはクロスプラットフォームのモバイルアプリケーションを開発するための優れたプラットフォームです。 Flash Playerがモバイルブラウザ向けに開発されなくなったという最近のニュースにもかかわらず、ネイティブストーリーは依然として強いままです。さらに、ネイティブのIOS、ネイティブのAndroidとFlexの開発を見たFlexプラットフォームは、開発の容易さという点ではるかに優れています。データバインディング、ビジュアルステート管理、ソリッドコンポーネント/スキニングモデル、移行モデルなどの高度な機能により、iOSとAndroid(IMO)の2〜3世代目です。

モバイル版(iOS/Android/Playbook)のFlexを使用している場合は、すべてのモバイルデバイスで共通のルックアンドフィールが得られます。 @MarkGranoffは、アプローチを使用するとユーザーエクスペリエンスが低下すると示唆しましたが、私はそれに挑戦します。

AirのUIコンポーネントの既定のスタイル設定には少し不満があることに同意しますが、誰もがそのようにアプリを構築することはお勧めしません。代わりに、アプリのように見えるアプリを作成します。 iOSやAndroidのネイティブなルック・アンド・フィールには合致しないが、審美的でUXの観点からは依然として品質の高いアプリケーションがたくさんあります。

すべてのプラットフォームで同じように見える/動作するアプリには、何か言われることがあります。私はあなたにこれを多く伝えることができます...ユーザーは本当に気にしません。それは良い見え、良い感じ、彼らが欲しいものを行う場合、彼らは幸せです。

Flex Mobile SDKは、(特に発売予定のバージョンのSDKで)同じUIパラダイムを使用していますが、改善が進んでいます。私はそれを信用しないだろう。 Flex Mobileのようなものを使って、たくさんのお金と時間を節約できます。

0

あなたは、クロスプラットフォームのアプリケーションを開発するために空気を使用している場合、あなたは以下の事実に気づくはずです。

1)あなたはネイティブの機能にアクセスすることはできません(しかし、あなたがすることで、この問題を渡すためにエアネイティブ拡張を使用することができます)

2)の性能は、ネイティブアプリケーションよりも遅くなります(しかし、あなたは意志が一番下の行は、モバイル・アプリケーションを構築することはAS3を使用していることであるパフォーマンスたくさん!)

を増加させるデバイスでGPUのパワーを使用するスターリングフレームワークを使用することができますし、 Flex/Air SDKはあなたが考えることができる最高のソリューションであり、starlingを使用するとパフォーマンスがはるかに高い漢ネイティブアプリ!

関連する問題