7 ms·
Get good at iPhone app development
- tlrobinson 18y ago" If all of your previous experience is in dynamic languages like PHP or Ruby, Objective-C is really going to hurt." I sort of disagree. Knowing C would help in some situations, but not knowing it shouldn't be a deal breaker. Objective-C is really a high level dynamic language built on C, so some of the low level-ness of C shows through (objects are actual pointers, etc). But the Cocoa APIs are like something you would expect in a dynamic language.
- ardit33 18y agotry doing anything really advanced in iPhone, and you wish you new C really well. Sure, Object C has some facilities, but when I wanted to do sockets, low level C /BSD sockets were the best. Ditto for pthreading, and a host of other facilities that come from the BSD undepining of OS X. You can mix C and Object C pretty well, even in the same source files, while if you want to use C++, I think you have to give up using Object C. People coming from dynamic languages will be at a great disadvantage, since they are used to all the facilities that come from using these languages. I really think that iPhone app development, is the kind of development that separates boys, from real developers. Anybody get a PHP web app, or a Ror page going on in a couple of weekends, not so with mobile client development. It takes a lot of patience to get where you want.
- tlrobinson 18y agoMinor correction (a pet peeve of mine): it's Objective-C, not Object C. You can actually mix C++ and Objective-C. I would only recommend that if you have some existing library or something that you must use in an Objective-C application.
- shabda 18y ago> I really think that iPhone app development, is the kind of development that separates boys, from real developers. Anybody get a PHP web app, or a Ror page going on in a couple of weekends, not so with mobile client development. It takes a lot of patience to get where you want. Ah!
- comatose_kid 18y agoI've been thinking the same thing, which is why I attended iPhoneDevCamp2 in SF (great event), and will soon be working full time on an iPhone app. And yes, having a C background does indeed help the learning curve. If anyone is interested in kicking around iPhone app ideas (I've got one which would be worth applying for the next YC funding round), or just exchanging Cocoa Touch programming pointers, send me an email (see profile).
- tstegart 18y agoIf you had to guess, what sort of app could you make with your skills right now?
- henning 18y agoWhy should I willingly be a sharecropper on Massa Steve's NDA-ridden land when I can maintain much more freedom and control on the web?
- greyman 18y agoOne possible answer: you can make more money and with lower risk. edit: and quicker.
- henning 18y agoTo play Steve Jobs's game I'd have to buy a Mac, an iPhone, a developer program license, and possibly an Apple Developer Connection membership. I'd also have to spend the time to learn Objective C and the iPhone environment. Together that's a substantial amount of time and money I'd have to make up for before I wind up ahead. How is there lower risk?
- JabavuAdams 18y agoIf you already have an intel Mac and an iPhone or iPod touch, you're looking at only $99 for an individual developer license. I didn't have a device, so add the price of an 8Gb iPod touch. It seems you're overlooking the psychological factors at work in the app store. It's very, very easy to buy apps. This is so much easier than being noticed on the web-at-large. For the same price as a Starbucks coffee, people will buy your app just to see what it's like. It's throwaway money, to them. The amount of marketing you'd have to do to get that response for shareware or trial-ware is much greater.
- henning 18y agoDespite my reservations, isn't it true with something like the App Store that you can make money literally while you sleep? Go to sleep, sell some software with precisely zero effort, wake up a little richer, without having to handle payment? That is cool.
- 18y ago
- greyman 18y agoThis is a topic I am thinking about in the recent days. A lot have been written about the platform being closed, approvals to the App Store, about being at mercy of the Apple overlords, etc., etc. But anyway...it seems to me that iPhone app development is starting to be a golden mine for some time...the possibilities are much broader comparing to the desktop or even web 2.0 app market. Many little apps, which didn't make sense on desktop can become a success on the mobile phone. It's not a bad idea to try the stuff and upload something, what do you guys thinks?
- tstegart 18y agoI really can't see much of a downside to at least trying your hand at an app. We know the money is there, even for simple apps, so I say go for it. then again, I'm biased :)
- aschobel 18y agoI wish there were some Android devices in the wild. Google Android was so much easier to write to than the iPhone. I love the type safety Java gives you compared to Obj-C. Stepping through gdb trying to figure out why something threw an NSException is no fun, especially if the stack keeps getting busted. And IntelliJ is light years better than XCode, if feel clunky moving around in Xcode. Unfortunately the users are on iPhone, so no choice. Tho the controls and animations are gorgeous on the iPhone. [UIView beginAnimations:nil context:NULL]; is cool as heck.
- ardit33 18y agoI have to say that Java is much more easy to develop for than Object C. But, android api is really not elegant at all. They did a really bad job in keeping a tight api, which is powerful at the same time. They just kept adding stuff to it. (the 0.9 version is improved). While the iPhone Api is more elegant, and the frameworks are well designed. Also the visuals of iPhone are way superior. What sucks about iPhone is the language, Object C. It is really much harder than the Java implementation. Plus it is missing some functionality, mostly on purpose, while android lets you access a lot more on the phone, camera, adress book, etc...
- wallflower 18y agoApple's iPhone platform is an authoritarian government like Singapore (since they have control). However, there are benefits to centralized control.
- watmough 18y agoYeah, taking the plunge! Edit: If nothing else, concentrating on Obj-C and Cocoa for a few months is a solid way to land a development job related to technologies that are ahead of any other platform.
- Tichy 18y agoHow is a language without garbage collection ahead of any other platform? It feels more like a plunge back into the stone age.
- yan 18y agoSo I figure this is as good of a place as any: fyi, i messed with the sdk and have a fairly wide background in C and objective C. Is anyone looking people to help with code or to co-author an idea you have? Respond or email.
- deleted 18y ago[deleted]
- nf 18y agoI'm interested. I have a strong web background as well as low level experience. Drop me a line nf at wh3rd dot net.
- netcan 18y ago>People are paying for good apps. As in, they’re giving you money in exchange for software. You gotta hand it to Apple on the market creation side of things. No one pays for music. No one pays for small consumer software. Micro-payments don't work. It's as if that stuff doesn't affect them.
- Tichy 18y agoJust curious, are there really many companies hiring iPhone developers? Because it seems to me the iPhone would not be a good target for enterprise applications, because of the distribution model. If I model a business process on the iPhone and make my company depend on it, I don't want Steve Jobs to be able to pull the plug on it any time he fancies.