"What @samsoffes has built with @cheddar is amazing for a solo gig: website, iOS app, API, open source, blog, store. Many startups do less." - @bb
After checking everything out and struggling with finishing up a thousand little side projects myself, I really respect the thoroughness.
* The UI is all hand coded. Not to start a religious war but interface builder makes supporting different devices a lot easier.
* There is some hairy concurrency stuff going on like this https://github.com/nothingmagical/cheddar-ios/blob/master/Cl...
There's also other reasons like version control, being able to copy-n-paste, using constants, etc.
That said, it's a fine tool to get you off the ground, but I'd rather see code and know how things are laid out than have to guess as I click inspectors, hover over connections, reference source files...
* Can you tell me why that entire block of code gets dispatched to one queue then right into the main queue?
* Can you tell me what queue the animation completion blocks run on and why it might matter?
* Can you tell me what queue the network request runs on?
* Do you think the animation completes before the network request finishes? Can you tell me why/why not?
* What happens if the network request fails?
I use these apps on the Underground to plan my day and always get errors when trying to do anything in app. It's also a huge battery drain, after each small change I see that my iPhone is connecting to the internet and using the app for a few minutes can drain a large percentage.
Forgetting about those problems, it's a beautiful app and is very functional although slightly limited. Which could be a selling point vs it's tedious competition.
After a quick poke around, this looks like a great codebase to learn from -- I will certainly point aspiring iOS developers in its direction. All the basics (CoreData, custom table views) are there, as are nice uses of more modern features like blocks and APIs like in-app purchase.
Out of curiosity, what's the deal with the CDKHTTPClient? It looks like the implementation is stubbed out for this release -- aka there is a back-end, but none of the back-end code is made available (at least so far)? I only took a quick look, so I might have missed something obvious.
If you are willing to pass up on the gorgeous you could give my app a try http://iTunes.com/apps/fastlists
Reusable tick able lists for things like shopping and packing. Functional rather than beautiful and import/export by email (no syncing yet). No ads yet (there will be a cheap no-ads in-app purchase when it does have ads).
Even though I've made a few apps It still is really hard to get an idea of how big projects come together. It can be hard to organize everything so it isn't one big mess!
As a solo developer I dont have a superior telling me "this is how the code is organized" or "when doing this. use this pattern instead". This is going to help me a LOT I'm not about to rewrite months of code but now I'll have a frame of reference of how things should be.