Ask HN: How to know the tech stack behind an "insanely great looking" iOS app?

6 points by hussa ↗ HN
I do some iOS native programming with the default controls that come with the framework. Sometimes I marvel at some of the iOS apps that just look insanely great and most of the time I couldn't attribute that to be built with native Objective-C and the Cocoa Touch control library.

I'm sure some must put the hard work to extend those default controls but on the other side I'm sure there are some 3rd party frameworks involved to bring that insanely great feel to the app. Is there a way to find out which framework and components are used in an iOS app?

11 comments

[ 3.3 ms ] story [ 36.2 ms ] thread
This question seems like it might get some good answers on Stack Overflow. http://www.stackoverflow.com
SO doesn't do questions of opinion
The motivation of the question may be opinion based, but the actual question is technical in nature. "Is there a way to find out which framework and components are used in an iOS app?" has a factual answer.

For example, you can certainly learn a few things by looking at what is in the distributed app package.

What you're probably wowed by is Photoshop - one of the secrets to a really good looking iOS app is to create many of the assets in PhotoShop.

If you're wondering where to get the underlying controls - http://cocoacontrols.com/ - Cocoa Controls is a project of someone here on HN, I believe - I usually start browsing there first. You can usually find replacement classes - for instance, I used DCSwitch instead of the stock UISwitch for a client.

Also, with iOS 5, UIAppearance really helps a lot.

Thanks for your response...Photoshop...I get that...but what I was looking for is the framework and the intricacies behind that makes it an insanely great app. For example, with PhoneGap and HTML5 there are something that can be done better and faster than to try the same with native iOS classes. Wanted to see if there are any place where these things are revealed or if there are any advice on these.
I'm not sure what you mean. PhoneGap and HTML5 are slow compared to either the mobile web, or a native app. The UIWebView that PhoneGap uses on iOS doesn't use JIT Javascript, so it's going to be slower than mobile web.

Either one of those isn't going to have the responsiveness of a native app.

Sure, I agree, PhoneGap could be not as blazing as the native core...I just mentioned that as an example. Do we have any websites where we can see the tech behind these great apps? I'm sure there are a few for web apps.
Most of these "insanely great looking" apps are done Objective-C and Cocoa Touch. It's really easy (even before iOS5) to pull it off. iOS5 of course makes it super easy with the use of UIAppearance.

Cocoa Touch has everything built in to pull this off. I'm working on an app right where the ui is "completely custom". I say it like that because I'm using all the default Cocoa Touch stuff, just "skinned" as you will.

Just because it's looks good doesn't mean it's an HTML5/JS app.

Get out of the mindset that Objective-C and Cocoa can't do this kind of stuff. With ObjC you can do pretty much anything your mind can imagine (within the hardware limits of the iPhone or iPad).

If you're curious about how to implement the stuff look up UIAppearance, and google stuff like "how to implement a custom UITabBar"

That seems like a pretty solid response from someone who uses the native core mostly; thanks for that.

I understand that we certainly can pull it off with the native core (ObjC/cTouch) but always wondered if all those "insanely great looking" apps took the pain of skinning all the controls, coming up with their own look and feel of everything the core provides and extending them, or is there a framework (library or something) that makes it easy to pull these off with a fairly decent effort?...that was my question.

Yes most took the pain of skinning the application to get the look and feel they wanted. The pain was soothed with iOS5's UIAppearance in a big way though. UIAppearance makes it easy because you can set the look of a component throughout the entire application. For example I only have to skin the UINavigationBar once, and the UITabBar once. Then all navBars and tabBars I use have the same look and feel.
What you are seeing are hours and hours of developers and designers crafting custom iOS interfaces, typically in Obj-C and Cocoa Touch. There are some 3rd party libraries that streamline this process, these are products of the aforementioned hours of work.

Almost no successful iOS apps stick to only using the default UI controls in the iOS SDK. The sexy UIs are part total custom development and part modified out-of-the-box UI controls.

The "sexyness" of the app has little to do with using native Obj-C, HTML5, or some combo (Phonegap) and all to do with the craft and creativity put into the design.