Hacker News new | comments | show | ask | jobs | submit login

I was two years out of school working on C# and WPF when I was tasked with writing an iOS app. My first steps to gain knowledge of the syntax/structure/etc of the language was to watch the Standford CS139p lectures (http://itunes.apple.com/itunes-u/ipad-iphone-application-dev...). I only had to watch the first six or so before I had a good knowledge of the language and the starting point of UIKit. From that point I just started brute forcing it.

Reading Apple's documentation was the fastest way for me to ramp up and they actually include a lot of really useful examples. Even lower level things like CoreGraphics have some in depth examples which will probably be what you need for your "Flipboard" like interactions.

Because I do so much iOS dev I have my own "library" I now use for every project. But it was cobbled together over a couple years and inspiration was taken from many open source projects.

I probably learned the most from Jeff Verkoeyen's GitHub projects, his Nimbus framework being one of the best https://github.com/jverkoey/nimbus

If you need to make web requests in your app (which basically every app should) ASIHTTPRequest is an interesting framework. https://github.com/pokeb/asi-http-request. I took the idea behind this and distilled it down to something that was much simpler which is what I needed. ASIHTTPRequest is sorta the kitchen sink of web request clients.

If you need a relational database in your app, sqlite is a simple include away. There are a lot of wrapper frameworks out there but I didn't use any of them. I wrote my first app directly accessing the C API and then wrote my own wrapper framework for it. Because I had never used SQLite before needed it in iOS it helped me learn a lot more about it.

If you need to store username/password/token/etc for the love of god don't make the novice mistake of saving to NSUserDefaults. Save to the Keychain https://github.com/reidmain/FDKeychain

One thing I'd point you to is my collection of Categories and Macros that I put into every project https://github.com/reidmain/Objective-C-Categories-and-Macro.... Specifically pay attention to FDIsNullOrEmpty, NSObject+PerformBlock, UIView+Layout. I use these categories so much that I always include them in my precompiled header file.

That's all good advice, but I'd like to point out that ASIHTTPRequest has been abandoned for about a year now. I think most people have switched to using AFNetworking (https://github.com/AFNetworking/AFNetworking) which came out of Gowalla.

As a nice bonus, AFNetworking doesn't require you to implement delegates but instead allows you to use blocks, which simplifies things somewhat.

The delegates are exactly what I factored out of ASIHTTPRequest when I made my own version. Good to see someone has taken the ball and ran with it.

For anyone else looking for an alternative to ASIHTTPRequest, do check out RestKit (https://github.com/restkit/restkit).

Thanks a lot for the detailed reply. Much appreciated.

My pleasure. If you have any other questions about specific frameworks or nuances of UIKit don't hesitate to ask.

I always like talking about Objective-C and UIKit. Keeps me sharp.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact