MotionInMotion

238 subscribers are learning more about RubyMotion every week.
It's time for you to do the same.

Episode 19 - Dates with MHPrettyDate, NSCalendar, and NSDateComponents

Dates are an important part of a lot of applications, and how you display them for their context can make a difference to how quickly users parse the information on screen. In this episode I walk you through getting the MHPrettyDate cocoapod set up in the Tasker application, and show you how to use NSCalendar and NSDateComponents to work with dates properly.

Episode 18 - Custom Table View Cells & AutoLayout

Both AutoLayout and the creation of custom UITableViewCell subclasses is extremely important when doing iOS development, so once you've finished watching this episode, I'd like you to take away the knowledge of "Why is AutoLayout important?", "Why create custom table view cells?", "How AutoLayout works", and finally "How to use AutoLayout when creating custom cells". You're going to learn these things while we take a look at our example RubyMotion application "Tasker", and there is some new parts to MotionInMotion in this episode where I change up the format a little, with a bit more "Why" than just how, as well as a challenge for you at the end to practice your skills.

Episode 17 - RestKit

RestKit is an amazing library for communicating efficiently and easily with RESTful services, like a Rails backend for your application. With a bit of setup, it's by far one of the best ways to keep your RubyMotion app in sync with your server. We're going to continue where we left off in Episode 16 with our Tasker application, and have RestKit keep our tasks saved to the server, and keep the server and Core Data store in sync. See the show notes for the Rails app I'm using with Tasker.

RubyMotion Pairing #1 - Fixing Pods, Target/Action, UITableViews, and more with Murtuza Kutub

The MotionInMotion RubyMotion pairing sessions are focused on doing one-on-one training with developers who are new to RubyMotion, and recording them so other newcomers can learn from it. In this session we work through an error when working with cocoapods due to Command Line Tools not being setup, and then go through some of the basic concepts of iOS development like views, target-action, table views, and delegates & data sources. If you're not interested in the part at the beginning where we're fixing the error in cocoapods, skip ahead to 22m 20s in.

Episode 16 - NSFetchedResultsController

It's time to learn how to efficiently manage a Core Data backed UITableView by using NSFetchedResultsController. It's much simpler than you would think, and once it's done it's extremely easy to maintain. Your table views will be faster, your memory usage will go down, it's just a great time to be a table view!

Episode 15 - Grand Central Dispatch

Grand Central Dispatch is one of the greatest (grandest even?) ways to do multithreaded applications in any language, which if you're doing any kind of processing or network communication, it's likely you will need to make your application use multiple threads too. In this episode we take a look at the main use cases for GCD and the simple code you need to write to run certain tasks in another thread by using queues and blocks.

Episode 14 - Five Advanced RubyMotionQuery Tips

There is more to Todd Werth's RubyMotionQuery (RMQ) than you might realise, it's filled with amazing tools to help you clean up your code and possibly do things you didn't know were possible. In this episode I have 5 Advanced RMQ tips to expand your knowledge of RMQ.

Episode 13 - Dynamic Type

One of the great new accessibility features of iOS 7 was Dynamic Type. It's sad to say though that not enough applications are taking advantage of it, when it's so easy to setup, and can make a user's life a lot easier. In this episode you're going to learn just how easy it is to setup, and take advantage of it fully.

Episode 12 - Application URLs

In this week's episode, we take a look at creating custom URL schemes for your application, so that other applications can open it, and how to open another application from your app. We are going to work with two applications, one for asking for authentication, and one to act as an authenticator, similar to how "Connect with Facebook" used to work before it was integrated into iOS.

Episode 11 - RMQ

Continuing our look at gems that make us happier developers, we're now going to find out why RMQ makes us happier developers by simplifying our code and making working in the REPL a breeze!

Episode 10 - Teacup

In the past few episodes we’ve been taking a look at some of the gems available to make your development faster, your code cleaner and more ruby like, as well as generally make you a happier developer. The series continues with this episode where I’m going to show you how to convert an existing view to use Teacup instead. I wanted to show you something a bit more complicated than the Zaggstar app we’ve been looking at in the previous two episodes, so we’re going to be taking a look at Blapp again, the application from the CDQ episode. We’ll be converting the detail view for a post to use Teacup’s DSL instead, and to finish off, we’re going to improve things by using Teacup’s constraint helpers to setup AutoLayout.

Episode 9 - ProMotion + Formotion

In the last episode we had a look at how to create an app quickly using the power of ProMotion! In this episode we take a look at the integration of ProMotion and Formotion to create a full CRUD application in RubyMotion. I'll show you how to create an add and edit screen that Formotion makes easy for us, and at the end I show you how to setup deleting rows in a ProMotion table screen.

Episode 8 - ProMotion

Sometimes you need to build something really quick, just to get an idea across. RubyMotion is fantastic for building iOS and OS X apps quickly, but with the help of gems like ProMotion, you can work twice as fast! That's why we're going to take a look at ProMotion. This will be the first in a series of episodes about the gems you have at your disposal and how you can use them all together to write beautiful code, quicker than usual.

Episode 7 - Working with the Camera

Learning to use the camera is incredibly important. The camera can give your application a personal touch, or be a big feature to center your application around. I'll show you the basics of how to open the camera, and how to save photos (NSData comes back to play). You will also learn how to save photos to the camera roll. In the future we'll expand on these topics, but for now, let's get you taking photos by creating KeyHook, an application that helps you remember where you left your keys.

Episode 6 - NSCoder, NSCoding, and NSUserDefaults

If CoreData is overkill for your application, you might be able to just write data out to the disk, or store it in NSUserDefaults. I'm going to show you how to do this in RubyMotion, and teach you how to encode and decode data which will help with storing any kind of data, not just your models.

Episode 5 - CoreData with CDQ and ruby-xcdm

CoreData is a difficult subject to learn, especially since you need to already have a fairly firm grasp on the knowledge of how to use the rest of Apple's frameworks. There is an easy way though! In this episode we take a look at how to get setup with, and use Ken Miller's CDQ and ruby-xcdm libraries in RubyMotion.

Episode 4 - BDD with Frank & MacBacon

An in-depth look into how to do behaviour driven development when creating a RubyMotion application. I guide you through "hacking" the simulator to change settings from cucumber tests, and how to handle the usually complicated workflow of testing a location based application. There is a challenge for you at the end of this episode too!

Episode 3 - More Delegates, KVO, and Target Action

A two part series that will teach you secret ways of Apple's take on MVC. I will show you how to talk to and create delegates, pass data around with data sources, give your objects a way to tell each other about changes with KVO, respond to events with target/action, and how to use all of these to properly structure your application and take full advantage of these tools.

Episode 2 - Delegates & Data Sources

A two part series that will teach you secret ways of Apple's take on MVC. I will show you how to talk to and create delegates, pass data around with data sources, give your objects a way to tell each other about changes with KVO, respond to events with target/action, and how to use all of these to properly structure your application and take full advantage of these tools.

Episode 1 - motion-layout

The first episode of the MotionInMotion screencasts for RubyMotion! This first episode is all about using motion-layout and Auto Layout's Visual Format Language to use Auto Layout easily in your RubyMotion apps.