

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

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.<p>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?
======
jacksondeane
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.

------
brandoncordell
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"

~~~
hussa
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.

~~~
brandoncordell
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.

------
jefflinwood
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.

~~~
hussa
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.

~~~
jefflinwood
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.

~~~
hussa
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.

------
cgislason
This question seems like it might get some good answers on Stack Overflow.
<http://www.stackoverflow.com>

~~~
ig1
SO doesn't do questions of opinion

~~~
cgislason
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.

