RubyMotion #jbday

19
Get More From RubyMotion with RubyMine Dennis Ushakov RubyMine Team Lead

description

 

Transcript of RubyMotion #jbday

Page 1: RubyMotion #jbday

Get More From RubyMotion with RubyMineDennis UshakovRubyMine Team Lead

Page 2: RubyMotion #jbday

What is RubyMine?

•Ruby on Rails IDE•

Page 3: RubyMotion #jbday

What is RubyMine?

•Ruby on Rails IDE•RubyMotion IDE

Page 4: RubyMotion #jbday

What is RubyMotion?

•Ruby implementation for iOS and OS X

•Based on MacRuby

Page 5: RubyMotion #jbday

Why RubyMotion?

•Easy & mature•Pure native code•App Store compliant

Page 6: RubyMotion #jbday

Magic 8-Ball

•Sample application by Pragmatic Studio

•Our N1 testing project

Page 7: RubyMotion #jbday

Let’s taste

Page 8: RubyMotion #jbday

No Objective-C?No worries!

Joybox

BubbleWrapSugarcube

ProMotionTeacup

http://rubymotion-wrappers.com

Page 9: RubyMotion #jbday

BubbleWrap•Collection of helpers and wrappers•Device properties•Application state•JSON•HTTP requests

•http://bubblewrap.io

Page 10: RubyMotion #jbday

BubbleWrapdef connect request = NSURLRequest.requestWithURL("https://url.com", cachePolicy:NSURLRequestUseProtocolCachePolicy, timeoutInterval:30.0) connection = NSURLConnection.connectionWithRequest(request, delegate:self)end

def connection(connection, didReceiveData:received_data) @received_data ||= NSMutableData.new @received_data.appendData(received_data)end

def connectionDidFinishLoading(connection) p @received_data.to_strend

# NB: Batteries Error handling not included

Page 11: RubyMotion #jbday

BubbleWrap

BW::HTTP.get("https://url.com") do |response| p response.body.to_strend

Page 12: RubyMotion #jbday

Teacup•InterfaceBuilder DSL replacement•Main concepts•Layouts•Styles

•https://github.com/rubymotion/teacup

Page 13: RubyMotion #jbday

Teacupclass MyController < UIViewController stylesheet :main_screen layout do subview(UIButton, :hi_button) endendTeacup::Stylesheet.new :main_screen do style :hi_button, origin: [10, 10], title: 'Hi!'end

Page 14: RubyMotion #jbday

Joybox

•Cocos2D•Box2D•Tasty Ruby wrappers•http://joybox.io

Page 15: RubyMotion #jbday

Joybox

QuickTime™ and aAVC Coding decompressor

are needed to see this picture.

Page 16: RubyMotion #jbday

Apps

Basecamp

Everclip

ISAF RRS

BaBaBear

Page 17: RubyMotion #jbday

Books

http://www.rubymotion.com/developer-center/

Page 18: RubyMotion #jbday

Thank you

Page 19: RubyMotion #jbday

denofevil

[email protected]_Dal