2013-01-07 14 views
15

私はRuby for Mobileのクロスプラットフォーム開発を使用する方法を検討しています。私たちは少なくともAndroid用のiOS、Windows Phone、Blackberryのサポートがあればいいとサポートしています。それは一般の人々のためにアプリストアで終わるアプリなので、エンタープライズ専用の社内のものではありません。これまで私が見つけたのは:Rubyベースのモバイルクロスプラットフォームソリューションは何ですか?

  • Rhodesは、すべてのプラットフォームとオープンソースをカバーしています。 RhoMobileの余分な(有料)機能は今のところ不要です
  • RubyMotion;唯一のiOSと199ドラコストが、残念ながらそこ
  • Ruboto利用可能な試用版はません、Androidのみとオープンソース
  • MobiRuby、唯一のAndroidのサポート計画し、オープンソースでiOSの、それは執筆の時点で十分に成熟していないように見えます

また、カメラと加速度計の両方に同時にアクセスし、加速度計からのデータを画面に表示する必要がある使用例があります。これは非常に特定的なので、私が見てきたクロスプラットフォームのフレームワーク(Phonegap、Titaniumなど)ではサポートされておらず、この作業を行うために各プラットフォームのネイティブコードを書く必要があるようです。

これまでのところ、私はロードスを選ぶ傾向があります。実証済みのフレームワークであり、上記のユースケースのために「ネイティブになる」など、私が必要とするすべてを行うことができるようです。もう一つの選択肢は、Objective-CやJavaの代わりにRubyを書くためのソリューションであるRubyMotionとRubotoの両方を使うことです。理論的には、プラットフォーム間で共通のコード(接続性やストレージなど)を共有できるはずですが、AndroidとiOSの両方で動作するアプリを書くためにこれらの2つをうまく使用した例は見つかりませんでした。

誰かが私の考えを確認できるか、何か見落としてしまったのかなと思います。もちろん、追加の洞察は大歓迎です。

+1

[QT](http://en.wikipedia。org/wiki/Qt_%28framework%29#Platforms)は、さまざまなプラットフォームをサポートするフレームワークです。 rubygem [qtbindings](http://rubygems.org/gems/qtbindings)もあり、Rubyのバインディングも提供しています。 –

+1

Rhodesは自分のチュートリアルから理解しているように、Webアプリケーションのみを開発するためのものだと思われます。 – Shmidt

+0

私が理解しているところから、@Flinkは正しいですし、Rhodesはweb-appsだけです。 –

答えて

2

私は先進的なJava for AndroidとRubyMotion for iOSを使用し、2つのコードベースを使用します。 RubyMotionは、あなたが言及したものの中で最も安定していて、iOS開発の価値がありますが、Androidプラットフォームには良い選択肢はありません。

+0

はノートとして、rubymotionは、これらの日のAndroidをサポートしています(とOS Xではなく、窓) – rogerdpack

4

Rubotoを選択すると、UIに依存しないRubyコードをそのまま使用できます。 UIコードはプラットフォームに依存する可能性が高いです。

Rubotoはまだ若いですが、それを使用し始めているプロジェクトが増えています。一例としては、それは、プラットフォーム間通信Rubyのコードを共有する

https://play.google.com/store/apps/details?id=com.jonsoft.globalchat

です。

は、Rubotoプロジェクトの開発者の一人であり、私はあなたに良いサポートと完全なRuby体験を約束することができます。

iOS用RubyMotionは見栄えが良いですが、使用していません。共通ロジックの共有コードベースを使用することはできますが、UIのコードベースとセンサーへのアクセスは別々にする必要があります。

0

Rhodesはウェブアプリとは何の関係もありません。 Rhodesでは、Rubyを使ってネイティブアプリを構築することができ、それらの選択肢よりも長年成熟しています。また、すべての主要なスマートフォンOSをサポートしています

+0

ロードスは全体のアーキテクチャはRailsの後にモデル化されているとして、実際のWebアプリでやるべきことがたくさんあり、それはRESTfulなWebアプリケーション・インタフェースと互換性があります。パフォーマンスの問題を引き起こす可能性のあるネイティブではないコンポーネントが存在するため、ネイティブアプリの概念は部分的にしか促進されません。また、あなたは満期について間違っています。コードベースに深刻な欠陥があり、サポートとドキュメンテーションが非常に悪いです。 –