iOS engineers are moving smartly with RestKit, especially for enterprise grade applications.

The technology industry is ever changing, and the mobile market has grown in a flash over the past few years. In this evolution iOS has played a major role. iOS7 gained a tremendous amount of attention with its refreshed UI and cloud functionality.

The expectations of most people these days is to have a mobile app with the same degree of functionality as the web app. Most developers start a new product engineering project by thinking about the complexity of UI, storage (preference/DB), response time, time estimation, and so on. But often not enough attention is paid to the data-model for an enterprise mobile application.

Enter RestKit…. RestKit is an Objective-C framework for iOS that makes the development of interactive RESTful web services simple, fast and fun. It combines a clean, simple HTTP request/response API with a powerful object mapping system that drastically reduces the amount of coding required.

How RestKit effects development:

  • Easily provides switching targets for the server URL on Development/Production/Staging. RestKit uses a base URL and resource paths rather than full URLs to allow developers to switch quickly.
  • Allows developers to think more in terms of their application’s data model and worry less about the detail of the sending request, parsing responses and building representations of remote resources.
  • Provides a modeling layer for mapping data. This makes it easier to deal with the parsing response. Object-Mapping is implemented using key-value pairs.
  • Provides integration with Apple’s Core Data framework. Responses can be directly stored as an object which was mapped by the entity.
  • Serves structured responses (RESTful – the response itself is showing us what it is) as an object.
  • Represents the HTTP client built on top of the NSURI Connection and provides a strong library of helpful methods for inspecting MIME types and status codes.
  • Submitting form data is as simple as providing a dictionary of parameters and native params objects.
  • Executes request-response much faster. The code is very organized, which is important for a developer

Challenges with RestKit

  • Integration requires a lot of accuracy
  • Mapping key-value pairs must be similar with the response and what the Data Model uses otherwise the whole app can get stuck

As far as my experience is concerned, I believe the most important thing for end users is a cool UI and fast execution. Granted the compilation of Objective-C is really fast, but combining RestKit to manage the Data-Model with handsome components from Cocoa Controls can allow you create a beautiful and effective app with ease.

Good luck to all mobile app developers!

Everything you need to know about outsourcing technology development
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.

Introduction Package

This article was authored by Sitanshu Joshi, who is a Senior Software Engineer at Zymr.


Leave a Reply