RubyMotion #jbday

Preview:

DESCRIPTION

 

Citation preview

Get More From RubyMotion with RubyMineDennis UshakovRubyMine Team Lead

What is RubyMine?

•Ruby on Rails IDE•

What is RubyMine?

•Ruby on Rails IDE•RubyMotion IDE

What is RubyMotion?

•Ruby implementation for iOS and OS X

•Based on MacRuby

Why RubyMotion?

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

Magic 8-Ball

•Sample application by Pragmatic Studio

•Our N1 testing project

Let’s taste

No Objective-C?No worries!

Joybox

BubbleWrapSugarcube

ProMotionTeacup

http://rubymotion-wrappers.com

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

•http://bubblewrap.io

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

BubbleWrap

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

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

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

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

Joybox

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

Joybox

QuickTime™ and aAVC Coding decompressor

are needed to see this picture.

Apps

Basecamp

Everclip

ISAF RRS

BaBaBear

Books

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

Thank you

denofevil

dennis.ushakov@jetbrains.comen_Dal