Inside Facebook: iOS Development  

This is an absolutely fantastic inside look at how Facebook builds their iOS app, and the path they took from web to native. I have summarized some of the standout info, but encourage everyone who’s interested in native iOS development to watch the entire talk.

Facebook for iOS was originally created by a single developer. Later, they converted to a web app, using HTML5 and javascript in a native wrapper, a hybrid solution:

Facebook was growing really fast… [the] web was in our DNA, so we decided to use HTML5 and javascript in a native wrapper.

After suffering with the issues which come with a web app in a native wrapper, they moved to a native implementation. This required a rewrite of the app:

We started Facebook for iOS as an experiment. We wanted to see, could we achieve better results with native code and could we scale the team?

Facebook takes pride in moving fast, with quality. But how do they pull this off on iOS?

Overall, I think Facebook has done a superb job of learning from their early mistakes and refocusing their entire engineering effort around building their mobile apps with user experience and quality at the center of everything. You may not love the Facebook app, but the approach taken above means that they’ll be moving quickly to respond to user feedback, and will be shipping software that is likely much more stable than it once was. A great model to follow for any mobile app team.


Now read this

My simple view of web app architecture: Thin Server

What follows is by no means a novel approach to building web apps. It just happens to be the way which I believe allows us to build them in a manner that’s fast, flexible for the future, and mobile app {native or web} friendly. I’m... Continue →