Your SlideShare is downloading. ×
MobiRubyでiOSアプリをつくろう
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

MobiRubyでiOSアプリをつくろう

2,487
views

Published on

2012年9月22日、長崎(ランカードコム新オフィス)で開催されたRubyビジネス・コモンズのイベント …

2012年9月22日、長崎(ランカードコム新オフィス)で開催されたRubyビジネス・コモンズのイベント

サンプルプログラム
http://www.lancard.com/blog/2012/09/21/mobiruby%E3%81%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E4%BD%9C%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E5%8B%95%E7%94%BB%E4%BB%98/


0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,487
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
5
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 【RBC Tech Saturday】MobiRubyでiOSアプリをつくろう∼スマホアプリ開発にmrubyがやってきた∼ 2012/9/22 村部 淳也 http://www.lancard.com/
  • 2. 自己紹介• 村部 淳也 • アクセス • Twitter:@murave • Mail:murabe@lancard.com • 所属コミュニティ • Rubyビジネス・コモンズ(スタッフ) • 他、いろんなところに出没
  • 3. すけじゅーる• 14:00 MobiRuby • 現在の状況(MobiRuby作者、増井さんの資料で紹介) • mruby入門(九州工業大学、田中先生の資料で紹介) • コードを読み書き • サンプル書いててハマったところなど• 16:00 その他Ruby系スマホ開発 • RubyMotion(RBC最首会長の資料で紹介) • Rhodes (& Phonegap) (RBC古川さん)• 懇親会 • オクトーバーフェストでビール!ビール!
  • 4. C関数の呼び出し• CFunc::call(返り値の型, 関数名, 引数...)• C = CFunc されてるので C::call でもOK • mobiruby.rb にあります。• 型はCFuncのクラスメソッドで • cfunc_rb.rb参照。 • C::SInt32、C::Pointerなど • C::Voidも忘れずに
  • 5. 構造体の扱いclass TestStruct < CFunc::Struct define CFunc::SInt8, :x, CFunc::SInt16, :yendtest = TestStruct.newtest[:x] = 10
  • 6. Cocoaブリッジ• Objective-Cのメソッドは頭に_つけて呼ぶ screen_rect = Cocoa::UIScreen._mainScreen._bounds view = Cocoa::UIView._alloc._initWithFrame(screen_rect)• Objective-Cのメソッド定義はdefineで • define は cocoa.rb で定義されてます- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { //処理}define C::Void, :alertView, C::Pointer, :clickedButtonAtIndex, C::SInt32 do ¦me, index¦ #処理end
  • 7. Cocoaブリッジ• 構造体の扱い point = Cocoa::Struct::CGPoint.new point[:x], point[:y] = x.to_f, y.to_f
  • 8. requireでハマる• コンパイルされてないとだめです
  • 9. BuildPhasesのCompile Source
  • 10. Build Rules
  • 11. C言語化されたバイトコード • app.rb → app.cconst char mruby_data_app[] = {0x52,0x49,0x54,0x45,0x30,0x30,0x30,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x39,0x30,0x30,0x30,0x30,0x4d,0x41,0x54,0x5a,0x20,0x20,0x20,0x20,0x30,0x30,0x30,0x39,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x93,0x00,0x01,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe6,0xe5,0x00,0x00,0x00,0x55,0x53,0x43,0x00,0x02,0x00,0x04,0x00,0x02,0x6f,0x28,0x00,0x00,0x00,0x07,0x01,0x00,0x00,0x06,0x01,0x80,0x00,0x3d,0x01,0x00,0x00,0xa0,0x01,0x00,0x00,0x06,0x01,0x80,0x00,0xbd,0x01,0x00,0x00,0xa0,0x00,0x00,0x00,0x4a,0x06,0xf8,0x00,0x00,0x00,0x02,0x10,0x00,0x08,0x6d,0x6f,0x62,0x69,0x72,0x75,0x62,0x79,0x10,0x00,0x06,0x6d,0x75,0x72,0x61,0x76,0x65,0x8d,0x31,0x00,0x00,0x00,0x01,0x00,0x07,0x72,0x65,0x71,0x75,0x69,0x72,0x65,0xa4,0x7e,0x00,0x00,0x00,0x00,};
  • 12. defineでハマる• Cocoaのメソッド定義に使用• 型を指定する必要があるため• cocoa.rbで実装されてます• 適切な型を指定しないとあとで困ったり• 例えば、hello.rb内の次の定義 define C::Void, :alertView, C::Pointer, :clickedButtonAtIndex, C::SInt32 do ¦me, index¦• meにC::Pointer型でイベント対象がセットされる• Objective-Cのオブジェクトのidはポインタなので間違いではない• しかし me._tag 等メソッドを呼ぶとエラーになる• 適切な型を指定すればOK define C::Void, :alertView, Cocoa::UIAlertView, :clickedButtonAtIndex, C::SInt32 do ¦me, index¦
  • 13. 関係資料• 増井さんRubykaigiスライド http://www.scribd.com/doc/105622019/MobiRuby-introduction• 増井さんRubykaigiビデオ http://www.ustream.tv/recorded/25396312 http://www.ustream.tv/recorded/25396851• muraveサンプルプログラム http://www.lancard.com/blog/2012/09/21/mobirubyのサンプル作りまし た動画付/• RBC最首会長RubyMotionスライド http://www.slideshare.net/saishu/ruby-motion-20127• RBC古川さんRhodesスライド http://www.slideshare.net/purukyawa/iphoneandroid-13906013

×