Book Image

RubyMotion iOS Development Essentials

Book Image

RubyMotion iOS Development Essentials

Overview of this book

RubyMotion is a revolutionary toolchain for iOS app development. With RubyMotion, you can quickly develop and test native iOS apps for the iPhone and iPad, combining the expressiveness and simplicity of Ruby with the power of the iOS SDK. "RubyMotion iOS Development Essentials" is a hands-on guide for developing iOS apps using RubyMotion. With RubyMotion, you can eliminate the complexity and confusion associated with the development of iOS applications using Objective-C. We'll begin from scratch. Starting by installing RubyMotion, we'll build ourselves up to developing an app that uses the various device capabilities iOS has to offer. What's more, we'll even learn how to launch your app on the App Store! We'll also learn to use iOS SDK classes to create application views. Discover how to use the camera, geolocation, gestures, and other device capabilities to create engaging, interactive apps. We'll develop stunning user interfaces faster with the XCode interface builder and make web apps by using WebView. We'll then augment applications with RubyMotion gems, doing more by writing less code and learn how to write test cases for RubyMotion projects. Finally, we'll understand the app submission process to push your app to Apple's App Store With "RubyMotion iOS Development Essentials", we will learn how to create iOS apps with ease. At the end of each chapter we will have a tangible and running app, which utilizes the concepts we have learnt in that chapter.
Table of Contents (19 chapters)
RubyMotion iOS Development Essentials
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Unit testing


The goal of unit testing is to isolate each part of the program and show that the individual parts function properly. RubyMotion uses MacBacon, which is an iOS flavor of Bacon.

Note

Bacon is a smaller clone of RSpec. With less than 350 LOCs, we nevertheless get all the essential features.

Here, we will also follow Test Driven Development (TDD), a way of working where unit tests are created before the code itself is written. Of course, the tests will fail initially because we don't have anything. That's the philosophy of TDD; first we write the test case, it fails, we then refractor our code and once again write the feature code, and this time our test cases pass and the code is considered complete.

The idea here is that the developer himself wears the hat of a tester. We first document the feature in the form of a test, which fails, then we write our code and refractor, and once again document with a test case for the next feature.

First, let's create an application, which we will...