Ask HN: Why torture yourself with Objective-C?
A bit confused here. I've deployed multiple iPhone applications with 0 native functionality only using HTML/CSS/Javascript. I've deployed to over 10 phones and everything works perfectly.
What is the point of using OBJ-C? It seems much harder to learn and use efficiently. I have a few friends who refuse to use anything but obj-c for their apps and as a result, it's taking them forever to deploy with much more headaches. Meanwhile, I'm deploying to multiple platforms with everything working flawlessly, even accessing native phone features.
Genuinely curious, not favoring one over the other as I've never ever laid hands on objc, though I tried once, I gave up.
12 comments
[ 6.3 ms ] story [ 37.8 ms ] threadHonestly, there are few apps that provide anywhere near the user experience that a native app does (one of those being facebook) and even they opted to switch to native. I've written a graphics intensive phonegap app and... needless to say, that was enough incentive to learn objective-c and I'll never look back. Objective-c is actually an awesome language, it's just tough to learn for most developers coming from a standard dot notation language.
[1] http://www.macrumors.com/2013/06/12/upcoming-ios-7-apis-gami...
Additionally, despite my love for JavaScript, JavaScript is not as fast as native code on mobile phones. You can really feel the difference between a fully native app and a web based app on iOS. (well, unless you can build something as good as Fastbook[1])
But there are definitely things that you can do with two lines of HTML & CSS (like advanced text layouts) that require much, much more code in Objective-C.
Someday it will become a personal choice and hopefully won't differ at all to the user, but I don't think we're there just yet.
[1] How on earth is this this good? http://fb.html5isready.com/
A native developer can achieve anything the JS dev can, but vice versa does not apply.
OOP is a pain to learn, but once you learn it, you have access to all OOP languages. I like Obj-C, and Apple's API are great.
Because every time I use a language that lacks Smalltalk-style keyword messages, I find myself missing them.
Perhaps experience is the deciding factor. I thought the same thing about Common Lisp and Haskell until I took the [long] time to learn them. A steep learning curve doesn't mean the tool sucks.
It's a simple trade-off: easier development vs better user experience.