Articles on Mobile

Mandy Valladares

Mandy Valladares

New to Mobile App Design? Six Things to Know for Your Next Mobile Project

At the start of any project, one of the first things to consider is what technology solution the product should be built for. A website? A mobile app? Should it be for iPhone or Android…or both? As mobile apps lead the charge in user acquisition, the ability for a designer to solve problems for the

Ken Shimizu

Ken Shimizu

Setting Up React Native Build Environments Using NativeModules

React Native is an emerging platform in the mobile space that allows developers to write native apps in Javascript without having to learn Java or Swift. It’s great conceptually, but developers end up having to write NativeModules (for iOS and Android) anyway because it lacks the tools that other frameworks generally provide. In this blog

Jonah Williams

Jonah Williams

Writing Reliable iOS Tests

Tests help me write better apps. Writing tests informs my interface designs, expresses some of my intentions, and guards against regressions. As applications grow so do the number of tests I’m running as a regular part of my development workflow. If I’m not careful those growing test suites can slow down, become inconsistent, and eventually

Jared Carroll

Jared Carroll

Beginning Test-Driven Development in Android

The Android framework contains several familiar and new architectural patterns. Fortunately, testing was not forgotten. In this post, we’ll develop a simple app test-first, exploring both functional and unit testing in Android. We’ll be using the latest Android API, 4.1, and working entirely from the command-line. All the code is available on github.

Rob Pak

Rob Pak

Managing iOS Configurations per Environment in Xcode 4

Update 4/2014 I recommend using .xcconfig files for managing your configurations. Take a look at this post. At Carbon Five we usually have 3 – 4 environments our iOS applications will run against: development, acceptance, staging and production. Often, the property values that are unique across environments are URLs to APIs that we are integrating

Jonah Williams

Jonah Williams

Running Xcode 4 unit tests from the command line

Command line builds for Xcode 4 projects are a good first step but I really want to get my project’s tests running on a continuous integration server again. Since “test” isn’t a valid build action to pass to xcodebuild I’ve been looking for a configuration which would allow me to run tests in a headless

Jonah Williams

Jonah Williams

Building Xcode 4 projects from the command line

The Xcode 4 developer tools introduced some changes to the xcodebuild command line tool. Instead of specifying a project and target developers can now provide a workspace and scheme to build.

Jonah Williams

Jonah Williams

Code Formatting in Xcode 4

Automatic indentation and cleanup of code seems to have improved in Xcode 4 (Editor menu – Structure – Re-Indent) but it still doesn’t offer full code reformatting or the flexibility of a tool like Uncrustify. If you’re used to having external code formatting in Xcode available you might be disappointed to find the User Scripts

Jonah Williams

Jonah Williams

Abusing UIViewControllers

UIViewControllers are a fundamental building block of most iOS applications. Unfortunately many developers seem to use them in unintended and unsupported ways which leaves their apps vulnerable to bugs, rejections, unpredictable behavior under new iOS releases, and with controllers which are difficult to update or reuse. The core misconceptions behind this abuse of UIViewController are

Jonah Williams

Jonah Williams

iPhone Distributed Computing Fallacy #8: the network is homogeneous

Reviewing the 8 classic “fallacies of distributed computing” and how we can avoid them when writing iOS applications. The fallacies of distributed computing The network is reliable. Latency is zero. Bandwidth is infinite. The network is secure. Topology doesn’t change. There is one administrator. Transport cost is zero. The network is homogeneous. Fallacy #8: “the