iPhoneのSDKを使ってアプリケーションの開発をしたいと思っています。

Xcodeでの開発にはObjective-C以外にRubyも使えると聞いたのですが、iPhone用アプリの開発(iPhone用webサイトではなく)にもRubyは使えるのでしょうか。
今まで触ってきたのがPerlやPHPなどのLLばかりなので、できれば楽な方向で攻めたいのです。

回答の条件
  • 1人2回まで
  • 登録:2008/09/24 17:13:24
  • 終了:2008/10/01 17:15:03

回答(2件)

id:australiagc No.1

australiagc回答回数467ベストアンサー獲得回数902008/09/24 18:35:02

ポイント35pt

MacRubyプロジェクトのことですかね?

http://www.macruby.org/trac/wiki/MacRuby (公式/英)

OS X向けの開発ができるのは聞いてますし、実際にMacRubyでiPhoneアプリを開発した/してる人も居るようです。自分はバカ正直にObjective-Cで苦戦したクチですが・・・。


あまり詳しい情報を提供できずにすみません。ただできるのは確かです。申し訳程度にいくつかリンクを、


他にも、参考までにこの辺とかの情報は少し役に立つかも。

http://www.infoq.com/news/2008/08/apple-ruby-iphoneutil-sproutco...

http://github.com/drnic/rbiphonetest/tree/master < こっちはライセンスがGNUっぽいですが


あまり情報がさらされてない分野なのでこれが限界でした。役に立たなかったポイント結構ですんで。

とにかく、XCodeもObjective-Cも10年落ちの化石と言った酷さなので、これが有効であれば自分も使ってみたいところです。

頑張って下さい。

id:MIZ

回答ありがとうございます。

できるのは確かと聞いて安心しました。とりあえずRubyを覚えようと思います。


とりあえず「楽しいCocoaプログラミング」という本を買ってきて軽く読んでみているところです。

「RubyCocoa」というフレームワークがあって、

http://rubycocoa.sourceforge.net/

RubyからCocoaが使えるということと、OSX 10.5から標準搭載されているということがわかりました。

ただ、現時点で自分はまだ右も左もわからない状態です。

「OSXアプリケーションが一応Rubyでも作れるよ」という程度なのか、それともObjective-Cでできることすべてに対してRubyを使ってリーチできるのか、それすらわからず。

「ブリッジサポートと呼ばれる機能でほとんどのフレームワークにアクセスできるようになった」と書いてあるので、問題ないのかな。

本をよく読んでみると、Cocoa以外のフレームワークを使うのであればObjective-Cでないと無理なようです。

でも、iPhoneの開発だけであればRubyで何の問題もないのかな。

不安なのでもし間違っていたら、どなたか指摘をお願いします。

2008/09/24 19:23:19
id:youku554 No.2

youku554回答回数95ベストアンサー獲得回数02008/09/26 01:12:28

ポイント35pt

つかえます

  • id:australiagc
    少し、自分の分かる範囲で補足です。

    まず、RubyCocoaは確かシミュレーター環境(OSX上)のみ利用可能で、iPhone/Touchのデバイス上では動作しなかったと思います。少なくともiPhone2.0では対応していなかった筈です。その代替としてiPhoneでも使えるのがMacRubyの規格だった筈かと・・・。

    RubyCocoaもですが、MacRubyにおけるオブジェクトはObjective-CのNSObjectを継承しているので、この点は問題なく対応すると思います。(NSObjectが上位クラスっていうのも変な感じではありますが・・・)

    蛇足ですが、iPhone SDKの年間ライセンス料&App Storeでの販売時にかかる3割のコミッションはちょっとバカらしい気もします。ですので、フリー版をダウンロードしてシミュレーターでパーフェクトに動作するまでテストした上で、初めて開発者ライセンスの申し込み>iPhone/Touchでの実機テストとする事を強くオススメします。シミュレーター環境と実機環境ではかなり動作に差があるので、ライセンス取得後の実機テストもそれなりに時間を食うと思いますが、無駄な出費は省くに限るでしょう。
  • id:from_kyushu
    RubyKaigi2008でMacRuby開発者のLaurent氏は「(MacRubyはiPhoneでは)現状動かない」ということを言われていたと思うのですが、もう動くようになったのでしょうか?
  • id:MIZ
    >australiagcさん
    すみません。閲覧環境の都合で、最初のレスをした時にはPDFを読めませんでした。
    RubyCococaのこともここに書いてあったのですね。

    from_kyushuさんの言われていることも気になりますが、「現状」とのことなのでとりあえずRubyの学習から始めようと思います。

    ライセンス費用に関しての助言もありがとうございました。
    その方向で進めようとおもいます。
  • id:australiagc
    すみません、訂正!!!
    ごめんなさい、再度色々調べまくってみましたー。
    何やら、iPhoneにも搭載できるってのはデマっぽいです・・・。

    で、今後可能になるかどうかという事なんですが、これにはいくつか難点があって、

    1. Mac用Ruby全般 - iPhoneの組み込みシステムのスペックでは処理が困難(i.e.遅くなる)。
    2. 特にMacRubyの場合 - ガベージコレクションの構造がiPhoneのそれとは違う。

    と言う事で、色々と意見は挙がっている様ですが、Mac系のベテランRubyプログラマーさん達の話を聞いていると、どうやらiPhone 3Gでは実現しないとの事です。確かに現状のObjective-Cで組んだ場合の処理速度を考えると、更に処理効率が落ちるとなればあまり現実的では無いかもしれませんね・・・。

    本当にすみませんでした!
  • id:MIZ
    >australiagcさん

    そうですかー。残念。
    PhotoshareがRubyで作られているって聞いたですけども、これはあくまでバックエンドのサーバ側の話ですよね。
    Objective-Cを覚えるとなるとまずC言語から覚えなくちゃいけなくて、いつになったら本題の開発に移れるかわからなかったので、比較的(言語経験上)すぐに覚えられそうなRubyで作れたらと思ったのですが……。


    JailbreakしたiPhoneにはすでにRubyが存在するので、そこで何か走らせてみるのは(遊びとしては)面白そうです。
    ちなみに、作ろうとしたアプリはMobile Finderにパスワードフォルダ機能を追加したようなアプリです。
    企業ユースでも個人ユースでも、結構需要はありそうな気がしたので。
    Jailbreak済みiPhoneであれば、lighttpd+Ruby+iUIあたりを使って簡単に実現できそうな機能なんですけども、1から作るとなるとこれがまた大変そうで。


    あきらめてJAVAでも覚えてAndroidに備えましょうかね。JAVAなら覚えた技術の使い回しができそうですし。
    iPhone買っちゃったから、Androidの実機買えなくてテストできないですけど(笑)


    ともかく、いろいろとありがとうございます。助かります。
    ポイントはもちろんお渡しするつもりなので、ちょっとお待ちください。
    (初質問なのでよくわからないのですが、ポイントの振り分けは質問締め切り後でいいのですよね)
  • id:australiagc
    >>youku554さん

    おお!どうやってやればいいんでしょうか?

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません