One of the incredible things about the iPhone is that underneath it all, it really is running Mac OS X. This means that down deep, underneath everything else, lays the beating heart of UNIX. It’s true, if you dig deep enough into the iPhone OS, you eventually find that there is a full UNIX file system and many of the libraries and capabilities that you’ve come to expect from a UNIX computer. Normally, even as a developer, you are sufficiently isolated from UNIX that it simply doesn’t matter to you that UNIX is underneath the covers. But there’s one area where having UNIX available to you becomes a definite asset. That area is in the realm of networking.
UNIX was built with networking from the ground up, and so it’s no surprise that its networking stack is one of the best available. As a result, the iPhone, because of its heritage, shares this excellent networking capability. The iPhone not only has built-in BSD sockets, but it also has an excellent set of Cocoa Touch classes that enable you to work with sockets with very little effort. The beauty of this design is that when you need simple things done, you have the higher-level abstractions available to you. Things such as accessing Web pages, sending e-mail, and so forth are trivial on iPhone OS.
Read more »
UNIX was built with networking from the ground up, and so it’s no surprise that its networking stack is one of the best available. As a result, the iPhone, because of its heritage, shares this excellent networking capability. The iPhone not only has built-in BSD sockets, but it also has an excellent set of Cocoa Touch classes that enable you to work with sockets with very little effort. The beauty of this design is that when you need simple things done, you have the higher-level abstractions available to you. Things such as accessing Web pages, sending e-mail, and so forth are trivial on iPhone OS.