How to get better at UIKit/Core Animation with no design experience?
I've read through Aaron Hillegass's iPhone Programming: The Big Nerd Ranch Guide and I feel I have a solid understanding on the fundamental design patterns/APIs of UIKit. After searching on both here and on Google, it seems that to take the 'next step,' I should practice by writing apps. But: I have no design experience, and I feel that unless I'm doing some work that involves custom controls or any sort of othe开发者_JAVA技巧r custom elements, re-writing apps with the same standard controls isn't helping me get better at iPhone dev. So, here are my options:
1) Learn design
2) Find a designer who has some app ideas (note that this is just in my spare time, and I'm not yet looking to make it my full time job, so finding a designer who would just give me free controls/designs would probably be hard)
3) ???
Anybody have other ideas?
TL;DR: I want to get better at iPhone dev by writing more apps for practice, but I'm not good at visual design.
EDIT: To be clear, I am not trying to make these apps with the intention of releasing for the App Store. I am writing these apps to practice iPhone dev and to get better at it.
I'd personally start looking at what other apps are creating as far as custom controls go. Trying to reverse engineer, so to speak, what they are doing will give you insight into what some of the lesser known APIs like CALayer
can do for you as far effects, animations, etc. Getting comfortable outside the standard set of controls and APIs will give you the skill set you need so when someone comes to you with a design idea, you can easily translate that into reality. For the next version of my own app I did just this, really digging into cool things you can do.
This blog does just this. His posts come at an angle from how to do custom things that both Apple and third party devs do:
iDevRecipes
Also, here's a reference to really get a sense of some of the cool Core Animation APIs. This guy includes videos demonstrating the effects, as well as Xcode projects:
Subtle Effects With CALayer
Complex Interpolation With CAShapeLayer
3D Objects in Objective-C with CATransformLayer
Combining those with blocks
based animations introduced in iOS 4.x can produce some real eye popping and easy to program creations.
I'd suggest, you just start to create some apps. Skill comes with practice.
You will surely have ideas for some apps. Just start with a simple idea.
Even if you are just using the standard UIKit classes you will learn something new. It's easy to think you have understood everything you just read, but in practice you will be facing some little problems you wouldn't even know exist, before.
Also, you can create some good-looking apps, using just the standard UIKit classes, even if you don't have a design background. Interface Builder helps a lot to stick to the iOS Human Interface Guidelines (which you should read).
精彩评论