web-dev-qa-db-ja.com

クロスプラットフォームのモバイルアプリを構築するためにJavaを使用できますか?

XamarinがRoboVMを購入し、開発者がクロスプラットフォーム用にJavaでモバイルアプリを作成できるようにするという記事を読みました。クロスプラットフォームのモバイルアプリの開発にJavaを使用できるかどうかはわかりません。クロスプラットフォームのモバイルアプリ開発用にJavaで記述できる信頼できるツールはありますか?潜在的なクロスプラットフォームモバイルアプリに対してのみJavaを選択するのは良い選択ですか? C、C++、C#のいずれかに焦点を合わせたことがないため、その目的でC、C++、C#を使用することは検討していません。それらの言語のファンに謝罪します。または、Javaアプリの場合はAndroid、iOSアプリの場合はSwiftを使用する方がよいですか?私は、すべてのWebアプリ、クロスプラットフォームのモバイルアプリ、およびロボットプログラミング開発の主要言語としてJavaを選択する予定です。

8
O Connor

Codename One をかなり前から使っています。私はゲーム開発者ではないので、Libgdxは正確には選択肢ではありませんでした。

Codename Oneを選ぶ前にRoboVMで少し遊んだのですが、それはiOSの場合はJavaであり、WORA(Write Once Run Anywhere)ではないようです)。私はRoboVMFXバインディングを試しましたが、基本的な方法でひどく壊れていました。

CodenameOneについて私が気に入っている点は次のとおりです。

  1. サポート-私はこれほど素晴らしい無料サポートのある製品を使ったことがありません。遅くとも1日以内に回答が得られ、それが私にとって本当に契約を結びました。

  2. Macは必要ありません-私は自宅でMacを使用していますが、オフィスではPCが必要です。

  3. カスタマイズと親しみやすさ-これはほとんどSwingですが、はるかに優れています。私たちがいつもSwingを彼らが言った通りにしたかったように...

ドキュメントは以前は吸っていましたが、彼らはそれに大きなプッシュをしました、そしてそれはそれを示しています。今、彼らがIntelliJ/IDEAプラグインをNetBeansプラグインのレベルに修正できれば、私は黄金になります!

7
Derek Johnson

何を書き込もうとしているのかによっては、 libgdx が良い解決策かもしれません。

Javaでコードを1回記述すると、基本的にすべて(html5でも!)にコンパイルされます。

ただし、コーディング規則を遵守し、そのクラスを使用する必要があります。 (これはゲーム開発には最適ですが、他のことにはあまり適していません...しかし、おそらくそれを使ってやりたいことは何でもできます)。

0
dustinroepsch

私の知る限り、Javaとの互換性はありませんが、Java C#で問題ないことを知っていれば問題ないと主張しています。

私は彼らのウェブサイトで移行についていくつかの興味深い奇妙な事実を見つけました... ソース

  • Javaでは、値によってのみパラメーターを渡すことができますが、C#では、値だけでなく参照によっても渡すことができます。 (C#は、参照によってパラメーターを渡すためのrefおよびoutキーワードを提供します。Javaではこれらに相当するものはありません)。
  • Java switchステートメントでは、コードは次のcaseセクションに分類できますが、C#ではすべてのswitchセクションの終わりが必要です。 switchを終了します(各セクションの終わりはbreakステートメントで閉じる必要があります)。
  • ..。