[解決済み] iOS / Androidクロスプラットフォーム開発【クローズド
質問
私はしばらくの間、Java で Android アプリを開発することに翻弄され、それをどうにかできるようになりつつあります。 しかし、iOS バージョンに着手したい場合、すべてをゼロからコーディングする必要があります。
どのようなクロス プラットフォーム ソリューションがあるのか、また、実際にどの程度機能するのかを知りたかったのです。 私は、Web アプリケーションについて考えていました。 jQuery Mobile または チタン やAdobe Flash/Flex/Airを使うことができます。 また、私はまだMacを持っていないので、おそらく投資しなければならないでしょう。
そこで、私の質問。
-
iOS / Android(および/またはその他のデバイス)用のクロスプラットフォーム開発環境にはどのようなものがありますか?
-
これらのツールについて、どのような経験をお持ちですか?(これは私が本当に知りたいことです。)
どのように解決するのですか?
免責事項: 私は、クロスプラットフォーム フレームワークを製造する Particle Code という会社で働いています。この分野にはたくさんの企業があります。毎週、新しい会社が誕生しているようです。あなたにとって良い知らせは、たくさんの選択肢があることです。
これらのフレームワークは異なるアプローチをとり、それらの多くは基本的に異なる問題を解決するために設計されています。あるものはゲームに焦点を当て、あるものはアプリに焦点を当てます。私は次のような質問をします。
何を書きたいのですか? エンタープライズ アプリケーション、個人の生産性向上アプリケーション、パズル ゲーム、ファースト パーソン シューティング ゲーム?
どのような開発環境がお好みですか?IDEか、それとも普通のテキストエディタか?
プログラミング言語に対する思い入れはありますか?私が知っているフレームワークでは、ActionScript、C++、C#、Java、Lua、Rubyから選ぶことができます。
私の会社はどちらかというとゲーム分野の会社なので、Titanium、PhoneGap、SenchaなどのJavaScript+CSSのフレームワークはあまり触ったことがありません。しかし、ゲーム指向のフレームワークのいくつかについては、少しお話することができます。ゲームやリッチインターネットアプリケーションは、クロスプラットフォームのフレームワークが輝ける分野です。なぜなら、これらのアプリケーションは、視覚的にユニークであることがより重要であり、ネイティブUIに溶け込むことはあまり重要でない傾向があるからです。ここでは、探すべきフレームワークをいくつか紹介します。
-
統一性 www.unity3d.com は3Dゲームエンジンです。私がこれまで使ってきた他の開発環境とはまったく違います。3Dモデルでシーンを構築し、オブジェクトにスクリプトをアタッチすることで動作を定義します。スクリプトはJavaScript、C#、Booで書くことができます。iOS、Android、Windows、OS X、コンソールで動作する3D物理ベースのゲームを書きたいなら、おそらくこのツールは最適でしょう。また、3Dアセットを使って2Dゲームを書くこともできます。その好例が、インディーゲーム マックスと魔法のマーカー は、Unity で書かれた物理ベースの 2 次元横スクロールゲームです。もしご存知なければ、ぜひチェックしてみてください(特にお子さんがいらっしゃるご家庭なら)。Maxは、PC、Wii、iOS、Windows Phone 7で利用可能です(ただし、UnityはWinPhoneをサポートしていないため、後者のバージョンは移植版です)。Unity には、3D アセットとテクスチャを完備したサンプル ゲームがいくつか付属しており、かなり複雑な環境であるにもかかわらず、スピードアップするのにとても役立っています。
-
コロナ www.anscamobile.com/corona は、Lua スクリプト言語を使用する 2D ゲーム エンジンで、iOS と Android をサポートしています。Coronaのセールスポイントは、物理ベースのゲームを数行のコードで非常に素早く書けることであり、iOSアプリストアにあるCoronaベースのゲームの多さがその成功を物語っている。環境は非常にリーンなので、人によっては魅力的に映るでしょう。シミュレータとデバッガが付属しています。これにお好みのテキストエディタを追加すれば、開発環境は完成です。基本SDKには、ボタンやリストボックスなどのUIコンポーネントは含まれていないが、CoronaUIアドオンを契約者は利用できる。
-
パーティクルSDK www.particlecode.com は、ゲームを背景とした、もう少し一般的なクロス プラットフォーム ソリューションです。MVC アプリケーション モデルを使用して、Java または ActionScript で記述することができます。WYSIWYG UI エディタを備えた Eclipse ベースの IDE が含まれています。現在、Android、iOS、webOS、Windows Phone 7のデバイス向けのビルドをサポートしています。また、Web用にFlashやHTML5を出力することも可能です。元々はポーカーやバックギャモンなどのオンラインマルチプレイヤーソーシャルゲーム向けに開発されたフレームワークで、2Dゲームや複雑なロジックを持つアプリに適しています。このフレームワークは、2Dグラフィックスをサポートし、2D物理エンジンを含んでいます。
NBです。
本日、Particle Codeが、クロスプラットフォームフレームワークTitaniumのメーカーである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 が最も急な学習曲線で、Corona が最もシンプル、Particle と Airplay はその中間といったところでしょうか。
もうひとつの興味深い点は、フレームワークが異なるフォームファクターをどのように扱うかということです。Corona は、Flash 開発者にはおなじみの動的スケーリングをサポートしています。これは非常に使いやすいのですが、iPhone のような 4:3 のスクリーンから新しい qHD Android デバイスのような 16:9 のスクリーンに移行するときに、結局スクリーン スペースを浪費することになることを意味します。Particle SDKのUIエディターでは、拡大縮小が可能な柔軟なレイアウトを設計できるだけでなく、個々のスクリーンサイズに合わせてレイアウトを調整することもできます。このため、少し時間がかかりますが、各スクリーン用にカスタムメイドのアプリを作成することができます。
もちろん、何が自分に合っているかは、それぞれの好みとワークスタイル、そして目標によって異なりますので、これらのツールをいくつかダウンロードして試してみることをおすすめします。これらのツールはすべて無料で試せます。
これらのツールのほとんどは、本当に活発に開発が行われています。もし気に入ったフレームワークがあれば、ぜひフィードバックを送って、何が好きか、何が嫌いか、どんな機能が欲しいかなどを教えてあげてください。これらのツールの次のバージョンに何が含まれるかに影響を与える真の機会があります。
お役に立てれば幸いです。
関連
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] アプリケーションを終了することは嫌われますか?
-
[解決済み] Pythonでホームディレクトリを取得するための正しいクロスプラットフォームな方法は何ですか?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] AndroidでTextViewの下にアンダーラインを引くには
-
[解決済み] EditTextの右側のDrawableにonClickListenerを設定する [重複] [重複
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] ViewPager2でスワイプを無効にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] EclipseのAndroidプロジェクトにライブラリ/JARを追加する
-
[解決済み] onCreate(Bundle savedInstanceState)とは?
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] google-services.jsonって実際何してるの?
-
[解決済み] Android: xml リソースからの整数値
-
[解決済み] LayoutParamsの高さを密度に依存しないピクセル数でプログラム的に設定する。