English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

Intermediate iOS Development

Web Services, JSON

Web services are ubiquitous, especially in the world of social networking. From the standpoint of an author trying to teach web service programming, social networking web services are ideal. Not only are the services free and publicly available, but the costs and headaches of developing and hosting the services are handled by someone other than the author. In addition, most, if not all, readers will be familiar with at least one social network, even if they are not particularly active members.

Given these advantages, nearly all iOS books that cover web services use one or more social networks as their examples. Note that, in all cases, the examples are clients to the services. Developing the service itself is a separate topic and is not considered a standard iOS development task. It is not covered in any of the tutorials.

Of course, web services’ sidekick, JSON, is also present. JSON is essentially a quick-and-easy way to serialize data between web services and Foundation collection classes such as NSDictionary and NSArray.

Although the APIs of the various web services differ, most of them follow the standard RESTful model. Learning iPad Programming provides a simple, straightforward example that makes use of the Flickr web service. In addition to showing the RESTful model at work, the sample application also uses JSON.

[01:10]

Although JSON is often used with web services, plain Extensible Markup Language (XML) is still prevalent, especially in legacy services like RSS feeds. Conway and Hillegass demonstrate how to handle XML directly. They also show how to embed the web into your application with UIWebView, a very convenient method of displaying web content.

[00:45]

Finally, the section ends with an unadulterated, no-holds-barred look at JSON as a serial data mover.

[00:30]

 

There has been error in communication with Booktype server. Not sure right now where is the problem.

You should refresh this page.