web-dev-qa-db-ja.com

JavaでiPhoneアプリを開発するにはどうすればよいですか?

私のコンピューターサイエンスクラスでは、すべてのプロジェクトを完了しました。だから私の先生は、IPhoneアプリを開発することをお勧めします。唯一の問題は、クラスがJavaで教えられ、iPhoneアプリがObjective-Cで書かれていることです。

XMLVMを使用してJavaでアプリケーションを開発した人がいるかどうか疑問に思っていました。

このコンパイラは(おそらく)JavaバイトコードをObjective-Cに変換します(AppleコンピュータまたはObjective-Cの知識は必要ありません)。これは正しいですか?

http://www.xmlvm.org/overview/

IPhoneで使用されているJavaコードのコード例:

http://www.xmlvm.org/iphone/#

49
Brendan

他のプロジェクトを完了している場合は、Objective-Cを学ぶのに時間をかけてみませんか?あなたが始めるのを助けるためにウェブ上に大量の資料があります。正直なところ、それほど難しいことではなく、学習することもできますsomeメモリ管理は素晴らしい学習課題です。以前にCでプログラミングしたことがありますか?

ほとんどのクロスコンパイラは、コードの変換に大きな役割を果たしません。このように開発すると、プロジェクトのデバッグがはるかに困難になる可能性があります。

33
Amir Afghani

もっと進歩を遂げるには、もう数年待たなければならないと思います。ただし、より多くのフレームワークとツールが利用可能になりました:

ここに5つのオプションのリストがあります:

34
Dalorzo

先生が間違った道を送ってくれたと思います。

これは、丸い穴に四角い釘を入れようとする典型的な例です。 iPhone向けに開発する最良の方法は、iPhone SDKとObjective Cを使用することです。Andriod向けに開発する最良の方法は、Java and the Android SDK。 WinMobile用に開発する最良の方法は、C#/ VBと.Net Frameworkです。

ご覧のとおり、それぞれに独自の「最高の」SDKがあります。 Javaしか学んでいないので、2番目に、JavaとAndroid。

26
deanvmc

コードネームone と呼ばれる新しいツールがあります:Javaに基づく1つのSDK、すべての拡張機能を備えたWP8、Android、iOSのコードに

特徴:

  1. 完全Android超高速環境Androidシミュレータ
  2. IPhoneアプリを数分で大画面のiPadに簡単に移動できるiPhone/iPadシミュレーター。
  3. 標準のJavaデバッグ、あらゆるプラットフォームのアプリのプロファイリングを完全にサポート。
  4. 簡単なテーマ設定/スタイリング–クリックするだけ

Javaを使用したAndroid、iOS iPhone、WP8アプリの開発

10
Taranfx

codenameone.comプロジェクトをご覧ください。UI部分がLWUITのフォークであるクロスプラットフォームモバイルフレームワークです。このプロジェクトは、xmlvmを利用してJavaバイトコードをObjective Cに変換します

6
Chen

RoboVM もご覧ください。

JavaバイトコードをネイティブARMまたはx86コードに変換します。これは、VMまたはインタプリタが必要です。Obj-CUI要素のほとんどはすでにJavaにブリッジされており、通常のJavaデザインパターンに従っています。

EditRobo VMサービスをシャットダウンすることを最近発表しました- Source

5
A Null Pointer

TotalCross を使用してみてください。これはJava開発者がiOSを作成するのを支援するフレームワークであり、Android 1つのソースコードのみでアプリを作成します。他のプラットフォームとは異なり、知識は必要ありませんiOS(Objective-CまたはSwift)またはAndroid(SDKまたはNDK)

maven統合があります https://gitlab.com/totalcross/TotalCross/wikis/building-with-maven

2
Bruno Muniz

Google Open Sources Java To Objective-C Translatorで開発することが可能になると思うJava https://code.google .com/p/j2objc /

2
smikesh

私は2年後にこの質問に答えています しなければならないストレス 私があなたと同じ問題を抱えていたこと。しかし、Androidが今日の状態に進化したことを嬉しく思います。

そうは言っても、私は学ばなかったことを後悔しています C/C++ 教師を責めたくはありませんが cos時間が合ったとき、私の脳はどこにあったのですか

私はJava今日に没頭し、あまりにも多くの言語を学び、生産性を落とすという間違いを犯さなかったことをうれしく思います... しかしながら 学びました HTML5 本当に簡単になりました。おそらくいつか、C/C++を学ぶ意欲が高まるかもしれません。またはApple macを実際の使い捨て価格で手に入れたら、Objective-Cを学ぶかもしれません:)

2
technoSesh

できません。

ただし、Monotouchを使用すると、Objective-CではなくC#で開発できます。 http://monotouch.net/

IPhone用に開発するには、少なくともObjective-Cの基本を知っている必要があります。ただし、C++クラスを使用することは可能です。

私が知る限り、AdobeはiPhone用のFlex/Flashアプリケーションの構築に取り組んでいます。詳細はこちら: http://theflashblog.com/?p=151

2
Jacek

アプリの機能をWebサイトに統合する予定がある場合は、GWT + PhoneGapモデルを強くお勧めします。

http://blog.daniel-kurka.de/2012/02/mgwt-and-phonegap-talk-at-webmontag-in.htmlhttp://turbomanage.wordpress。 com/2010/09/24/gwt-phonegap-native-mobile-apps-quickly /

これは私自身の経験から得た2セントです。Hibernateデータベース、Java API、Webサイト、iPhoneアプリに同じREST POJOを使用します。ワークフローはシンプルで美しいです:

データベース--- 1 ---> REST API --- 2 ---> iPhone App/Website

  • 1:休止状態
  • 2:GSONシリアライゼーションとGWT JSONデシリアライゼーション

このアプローチには別の利点もあります-GWTとJavaScriptライブラリでコンパイルできるJavaコードはiPhoneアプリで使用可能になります。

2
Naijaba

ISpectrumを試すことができます( http://www.flexycore.com で入手できます)EclipseでJavaアプリを開発およびデバッグできます。ただし、シミュレータで起動したり、実際のデバイスにインストールしたりするには、MacとXCodeが必要です。しかし、実際にXCodeエディターを使用する必要はありません。さらに、無料で使用することもできます。オープンソースプロジェクトに取り組みます。

1
Krusty

スマートフォン向けにAndroidで本当に開発したい場合は、iPhoneアプリケーションではなくJavaアプリケーションを検討する必要があります。 Androidは、アプリケーションにJavaをネイティブに使用します。おそらくこれはより良いオプションかもしれませんか?

IPhoneについては、作成するアプリケーションのタイプに応じて、Obj-CまたはC/C++を調べることをお勧めします。新しい言語に手を出すのは楽しいはずです! :)

1
Charles

これに追加するには: http://www.Oracle.com/technetwork/developer-tools/adf-mobile/overview/index.html

A Java&HTML5ベースの開発用フレームワーク
Oracle ADF Mobileを使用すると、開発者はiOSおよびAndroid単一のコードベースからエンタープライズアプリケーションを構築および拡張できます。ハイブリッドモバイルアーキテクチャに基づいて、ADF Mobileはネイティブデバイスサービスへのアクセスをサポートします、オフラインアプリケーションを有効にし、企業の投資を将来のテクノロジーシフトから保護します。

1
Slartibartfast

http://www.xmlvm.org/Android/

具体的には、Java based Android Apple以外のハードウェアを使用してiPhoneに移植されるアプリについて説明します。

MonoTouch (JavaではなくC#ですが、2つは非常によく似ています)も確認してください。

1
Justin Niessner

質問にJavaが記載されていても、ほとんどの答えは逸脱しています。だから私は同じことをすると思った:)

過去5年間Adobe AIRを使用してきましたが、これは真のクロスプラットフォームであり、同じコードベースでネイティブのようなパフォーマンスを提供します(コードの少なくとも99%は同じです)。 Adobe AIRは、「ベータ」期間中に最初にいくつかの悪い報道を受けました(遅い、GPUなし、Flashの「デッド」など)。オープンソースのライブラリの豊富さは言うまでもありません。

同じコードベースを使用して、アプリを次の場所にプッシュできます。

  • iOS
  • Android(x86およびARM)
  • フラッシュ(非常に便利)
  • ChromeBook
  • PC(インストーラーとネイティブ)
  • Mac(インストーラーとネイティブ)

なぜJavaまたはObjective-Cで悩むのですか?

対象外の唯一の一般的なプラットフォームはWindow Phoneです。しかし、それもすぐに来ています。

0
ramouz