im im learning objective-c so i can program for the iphone and ipad. What do i learn next? cocoa? and then what else if any of you are developers please give me a list of what i need to learn
Thanks :)
Maybe you should instead ask yourself: what do I want to do next. And then as you think about that, you might realize that you need A, B, and C to be able to make that... and that's when you start learning those. That motivates you more than just learning something in a specific order.
Yeah, go for Cocoa... it's the logical next step. Good luck.
Depends on what you plan to develop… Cocoa Touch for sure, OpenGL ES for games, whatever other frameworks you will be using.
Related
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 other 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).
I'm an Objective C developer. The new announcement of the Flash for iphone got me
kinda worried. can some 1 explain how good is that package and if the need of objective C
developers/companies is gonna decrease ?? can you do really nice applications and games in
a much easyer way ? please advise me in that matter
Sincerely
Check a similar question here:
https://stackoverflow.com/questions/3693220/what-does-adobe-packager-mean-for-iphone-ipad-developers-closed
I want to take the next step and make a game, I had Connect4/4 in a Row in mind.
How would I go about with this, I made a pong game from a tutorial and now I want to make something on my own. This type of game doesn't seem that hard to make or perhaps it is?
Anyone got any good advice or some sample code or instructions?
Thanks for all help guys.
David H
Have you ever heard of cocos2d? Its a framework for making 2d games for the iphone.
The community is very helpful, i think it might help you in your aims to 'take the next step'
http://www.cocos2d-iphone.org
Glad to hear you're interested! The way I went about my first steps of game programming was to learn everything I could about computers/programming in order to make games. If you’re not 14 any more, and thus infinite time no longer is available, I’d recommend you start out with two tutorials, one for plain application programming on the platform at hand and the other for learning more specifically how to make games for that platform.
After that, pick what boilerplate you want/need from the public domain, and set out to produce your completely own thing. And hey, good luck (you’ll need it)!
I just wanted to ask you guys if you have some idea about which API's or techniques were used in iBeer and iMunchies applications? These applications are not useful (in my personal opinion), but does have some cool effects.
Theories are welcome :). Just trying to gain some knowledge. Best Regards.
My guess is they use OpenGL and/or Core Animation. I've never done anything like that before though.
I'd much rather code an app using pure C api such as OpenGL, rather that Cocoa Touch. So I'm wondering: is it feasible? Will I be able to maintain the same user experience that you get with Interface Builder?
None of the UI components have OpenGL equivalents. Is it possible? Yes. Is it sensible? No - you would be much better off learning how to use IB and the UIView classes. Coding the UI in OpenGL would be like painting your house with an artist's brush, using hand-made paint instead of Dulux.
Unless you are working on a game, users will expect your user interface widgets to work the same way they do in other applications. You can never emulate that properly, especially if apple decides to fix certain issues in future firmware upgrades, etc...
You will also need Cocoa for integrating with the system in general to store data, prefs and so forth. Is there any specific reason for your reluctance to use Cocoa? If it's because you feel an aversion to learning objective-c, then you really ought to give it a proper chance. It's a great language for building ui apps. If you are trying to port an existing app, then I would suggest building a wrapper that will interact properly with the iphone and call your c code from there.
This is not a fruitful answer (for that, see AirSource's) and rather a comment on your answer about not using Objective-C, but I learned Objective-C a few months after C# and I find I work well in both. Give it a chance and it will surprise you. There's a learning curve and they are different, but the interface tools in particular are so far ahead that you'll probably find it worth your while. It will definitely be better for you and for your app's users than hand-rolling it in OpenGL.
Depends on your app. Mine's an "immersive" game, so I'm using openGL
instead of CocoaTouch,
with a sprinkling of Core Graphics/UIKit calls to generate nice textures.
If I had to display any kind of standard, non-trivial widget, I'd use CocoaTouch.