iOS / Androidクロスプラットフォーム開発[終了]


113

私はしばらくの間、JavaでのAndroidアプリの開発をいじっており、それを扱い始めています。しかし、iOSバージョンで最初からやりたい場合は、すべてを最初からコーディングする必要があります。これはまあ、望ましくありません。

利用可能なクロスプラットフォームソリューションと、それらが実際にどれだけうまく機能するかについて疑問に思いました。私はWebアプリケーションについて考えてきました-おそらくjQuery MobileTitanium、あるいはAdobe Flash / Flex / Airを使用しています。また、Macもまだ持っていません。おそらくMacに投資する必要があります。

だから私の質問:

  1. iOS / Android(および/またはその他のデバイス)にはどのクロスプラットフォーム開発環境がありますか?

  2. これらのツールについて、どのような経験がありますか?(これは私が本当に知りたいことです)


1
アリスター、あなたは確かにこの種の質問をする最初の人ではありませんし、あなたが答えを求めている最初の人でもありません!:)混合レビューを聞いたPhoneGapと、もっとクッキーカッターですが見栄えが良いRed Foundryを忘れないでください-まだクロスプラットフォームではありません。
マクダッド2011年

1
PhoneGapを使用することもできます。私はそれを使いました、そしてあなたはそれのために行くようにあなたに助言しました。AndroidのPhoneGapで開発されたアプリケーションを使用してexeファイル(iOSのIPA)を生成するための規定があります。
Jayprakash Dubey 2014

この質問は2016年末になり、クロスプラットフォームツールの状況が変わったので、この質問を更新したいと思います。それは、選択したプログラミング言語と、チームが最もXPを使用している場所に依存すると思います。オプションは、V-Play(v-play.net/apps)またはReact(reactnative.com)です。2. C#:Xamarinはあなたの友達です。3. C ++:Qt(qt.io)のようなC ++フレームワークを使用する免責事項:私はV-Playの背後にいる人物の1人で、Qtに基づいています。
Christian Feldbacher

回答:Flutterは、iOSとAndroidのネイティブインターフェイスを記録的な速さで作成するためのGoogleの新しいモバイルUIフレームワークです。
naXa 2018

有望なアクティブなhaxe.orgプロジェクトもあります。
Eugene Gr。フィリポフ

回答:


104

免責事項:私は、クロスプラットフォームフレームワークを作成するParticle Codeという会社で働いています。このスペースにはたくさんの企業があります。毎週新しいものが出現するようです。朗報です。選択肢はたくさんあります。

これらのフレームワークはさまざまなアプローチをとり、それらの多くはさまざまな問題を解決するために基本的に設計されています。ゲームに焦点を当てているものもあれば、アプリに焦点を当てているものもあります。次の質問をします。

何を書きたいですか?エンタープライズアプリケーション、個人生産性アプリケーション、パズルゲーム、一人称シューティングゲーム?

どのような開発環境が好きですか?IDEまたはプレーンオールテキストエディター?

プログラミング言語について強い思いはありますか?私がよく知っているフレームワークの中から、ActionScript、C ++、C#、Java、Lua、Rubyから選択できます。

私の会社はゲーム分野にいるので、Titanium、PhoneGap、SenchaなどのJavaScript + CSSフレームワークをあまり使用していません。しかし、ゲーム指向のフレームワークについて少しお話しします。ゲームやリッチインターネットアプリケーションは、クロスプラットフォームフレームワークが活躍できる分野です。これらのアプリケーションは、視覚的に一意であることが重要であり、ネイティブUIとの調和が重視されない傾向があるためです。検索するフレームワークは次のとおりです。

  • Unity www.unity3d.com Unityで記述されは3Dゲームエンジンです。これは、私が取り組んだ他の開発環境とはまったく異なります。3Dモデルでシーンを構築し、スクリプトをオブジェクトにアタッチして動作を定義します。JavaScript、C#、またはBooでスクリプトを作成できます。iOS、Android、Windows、OS X、またはコンソールで実行される3D物理ベースのゲームを作成したい場合、これはおそらくあなたのためのツールです。3Dアセットを使用して2Dゲームを作成することもできます。これの良い例は、インディーゲームMaxとMagic Markerです。、Unityで記述された2D物理ベースのサイドスクローラー。それがわからない場合は、チェックアウトすることをお勧めします(特に、世帯に子供がいる場合)。MaxはPC、Wii、iOSおよびWindows Phone 7で利用できます(ただし、UnityはWinPhoneをサポートしていないため、後者のバージョンはポートです)。Unityには、3Dアセットとテクスチャを完備したいくつかのサンプルゲームが付属しています。これは、非常に複雑な環境に慣れるのに役立ちます。

  • Corona www.anscamobile.com/coronaは、Luaスクリプト言語を使用し、iOSおよびAndroidをサポートする2Dゲームエンジンです。Coronaのセールスポイントは、物理ベースのゲームを数行のコードで非常に迅速に作成できることであり、iOSアプリストアに多数のCoronaベースのゲームがあることは、その成功の証です。環境は非常にリーンであり、一部の人々にとって魅力的です。シミュレータとデバッガが付属しています。選択したテキストエディタを追加すると、開発環境が整います。ベースSDKには、ボタンやリストボックスなどのUIコンポーネントは含まれていませんが、サブスクライバーはCoronaUIアドオンを使用できます。

  • パーティクルSDK www.particlecode.comは、ゲームの背景を持つ、もう少し一般的なクロスプラットフォームソリューションです。MVCアプリケーションモデルを使用して、JavaまたはActionScriptで記述できます。これには、WYSIWYG UIエディターを備えたEclipseベースのIDEが含まれています。現在、Android、iOS、webOS、およびWindows Phone 7デバイスのビルドをサポートしています。FlashまたはHTML5をWeb用に出力することもできます。このフレームワークは元々、ポーカーやバックギャモンなどのオンラインマルチプレーヤーソーシャルゲーム用に開発されたもので、複雑なロジックを備えた2Dゲームやアプリに適しています。フレームワークは2Dグラフィックスをサポートし、2D物理エンジンを含みます。

注意:

本日発表したパーティクルコードは、チタンクロスプラットフォームフレームワークのメーカーであるAppceleratorに買収されました。

...

2012年1月1日をもって、[ パーティクルコード ]は[ パーティクルSDK ]プラットフォームを公式にサポートしなくなります。

ソース

  • Airplay SDK www.madewithmarmalade.comは、Visual StudioまたはXcodeのいずれかで開発できるC ++フレームワークです。2Dおよび3Dグラフィックスの両方をサポートしています。Airplayは、iOS、Android、Bada、Symbian、webOS、およびWindows Mobile 6を対象としています。これらには、PSP用のAirPlayアプリを構築するためのアドオンもあります。私のC ++は非常に錆びており、あまり遊んだことはありませんが、見た目はかっこいいです。

学習曲線に関して言えば、Unityの学習曲線は最も急で(私にとっては)、コロナが最も単純で、ParticleとAirplayはその中間にあると思います。

もう1つの興味深い点は、フレームワークがさまざまなフォームファクタをどのように処理するかです。Coronaは、Flash開発者に馴染みのある動的スケーリングをサポートしています。これは非常に使いやすいですが、iPhoneのような4:3画面から新しいqHD Androidデバイスのような16:9画面に移行するときに、画面スペースを浪費することになります。パーティクルSDKのUIエディターを使用すると、スケーリングする柔軟なレイアウトを設計できますが、個々の画面サイズに合わせてレイアウトを調整することもできます。これには少し時間がかかりますが、画面ごとにカスタムメイドのアプリに見せることができます。

もちろん、何が効果的かは、個人の好みやワークスタイル、そして目標によって異なります。これらのツールをいくつかダウンロードして試してみることをお勧めします。これらのツールはすべて無料で試すことができます。

また、公共サービスの告知だけを入れることができれば、これらのツールのほとんどは本当に活発に開発されています。気に入ったフレームワークを見つけたら、ぜひフィードバックを送って、好きなもの、嫌いなもの、見たい機能を知らせてください。これらのツールの次のバージョンに何が影響するかを左右する本当の機会があります。

お役に立てれば。


私はより多くのエンタープライズ開発を考えていましたが、あなたはこれらのSDKの1つを楽しみに調査するように促したかもしれません。
アリスター

各フレームワークへのリンクは有用でしょう
Petrus Theron

2
更新:パーティクルコードは、チタンのメーカーであるAppceleratorによって取得されたため、パーティクルSDKの運命は不明です。Airplayは、その名前を、不可解ではなく「マーマレード」に変更しました。
DocDude 2011年

15

MonoTouchとMonoDroidですが、Attachmateのその部分で何が起こるかは誰もが推測しています。もちろん、モノラルソリューションを使用しても、クロスプラットフォーム以外のビューを作成しますが、アイデアはビジネスロジックの再利用です。

http://www.xamarin.com/から目を離さないでください


12

PhoneGap + jQuery Mobileで非常にシンプルなものを作成した経験はうまくいきました。私はiOSでそれを素早く行うことができました。ただし、一部の変更を行わないと、Androidスマートフォンでは機能しませんでした。このプロジェクトは、写真を撮ってWebサイトに投稿する非常にシンプルなアプリでした。そして、結局のところ、真のネイティブアプリと比較して、「不格好」に感じました。

クロスプラットフォーム開発が容易になるとは思えません。私はブラウザがあなたが得るのと同じくらい近いと思います。PhoneGapのようなものを選択することで、1つのセットの問題点を別の問題点セットと交換するだけだと思います。


7

クロスプラットフォーム開発に本格的なフレームワークを使用したくない場合は、オプションとしてC ++を参照してください。iOSは、Objective-C ++を介したアプリケーションロジックでのC ++の使用を完全にサポートしています。AndroidのNDKによるC ++のサポートが、パフォーマンスクリティカルなコードスニペットだけでなく、C ++でビジネスロジックを実行するのにどの程度適しているかはわかりませんが、そのユースケースが十分にサポートされている場合は、試してみることができます。

もちろん、このアプローチは、ユーザーインターフェースをプラットフォームごとに個別に記述する必要があるため、アプリケーションロジックがプロジェクトの大部分を占める場合にのみ意味があります。

実際のところ、C ++は最も広くサポートされている単一のプログラミング言語(Cを除く)であり、したがって、ほとんどの大規模なクロスプラットフォームアプリケーションのコア言語です。


3
ところで、Androidは実際にはC ++のみで書かれたアクティビティを直接サポートしているようです: developer.android.com/reference/android/app/NativeActivity.html
yeoman

4
1つの注意点-NativeActivityからのJavaアクセス(つまり、サードパーティのライブラリ統合やSDKアクセス)はありません。多くの目的には不向きになります。
rbgrn 2013

6

私はこの開発分野を検討し始めたばかりですが、これはこの基本的な違いによるものだと思います。いくつかのツールは元のコードを保持し、いくつかはネイティブへの移植です...

たとえば、PhoneGapは作成したHTML / CSS / JSコードを保持し、アプリとしての資格を得るのに十分なiOSコードでラップしますが、AppceleratorはXCodeプロジェクトを提供します... iOSに慣れていない場合は、そのことは本当にPhoneGapの上であなたにどんな利益を提供しないだろうが、あなたがあればDOビットを知っている、それはあなたの大きなコーディング作業の後にネイティブのバージョンを微調整するためにもう少し力を与えるかもしれません。

私は自分でappceleratorを使用していませんが、数週間前に、チームメンバーの1人がそれを使用して約24時間でiPadアプリ全体を作成するプロジェクトに取り組みました。

はい、実際にアップルに提出するには、Macを入手する必要がありますが、それが主要な作業プラットフォームでない場合は、安くすることができます。


3

カプチーノまたはPhoneGap

ときどき、ショートカットを見つけようとしても、時間の節約になったり、同等の最終製品が得られないことがあります。



3

LUAを使用したことがある場合は、Corona SDKを使用して、IOSおよびAndroidで実行するアプリを作成できます。

https://coronalabs.com/

ダウンロードしてみたところ、LUAは、通常のスクリプト言語の手間や制限なしに、非常に簡単に習得できるスクリプト言語だと思います。


2

過去18か月間使用していて、いくつかのゲームをリリースしたBatteryTechもあります。 http://www.batterypoweredgames.com/batterytech

すべてのC ++、Android、iOSサポート、すべてのユーザーが完全なソースを取得します。新しいv2にはluaバインディングが含まれています。


3
12/05/30現在:5人以下の開発者のライセンスは200ドル。5ドル以上で800ドル。オープンソースプロジェクトには使用できません。
Roger Dahl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.