Archives For August 2012

Finally, Facebook has released an update of their iOS app. Whereas older versions used HTML technology in combination with UIWebViews, the new version as it looks now is (almost) fully developed in native iOS technology, Objective-C. As I have written in the past, it is hard to get a well performing app using the hybrid approach of native and web. The UIWebView is not as fast as when it runs inside of mobile Safari because the Javascript engine Nitro is not available for 3rd party apps, and it doesn’t seem to be so in the new upcoming iOS 6.

My testing by network sniffing confirms that no more HTML is returned from the Facebook servers but JSON, the preferred format when using REST technology. JSON just gives you the data, formatting needs to be done by the code inside of the app. Most iOS apps that retrieve server data use JSON technology, so that was a no-brainer. According to their development blog post, many more different optimisations were implemented, including offloading actions to background threads (iOS 101), caching of computations how long text should be displayed, caching of heights of rows in the UITableView. Most of the app is native now. Still some lesser used parts are leveraging HTML technology, to allow for flexibility.

Continue Reading…