To iPhone Development and Beyond!

When Apple first unveiled the iPhone and iPod touch’s SDK I welcomed it with joy. Watching the keynote filled my mind with excitement as the SDK appeared extremely powerful for developers. I envisioned future applications I would be using, however, the thought of developing my own application never crossed my mind.

Now four weeks later, I am seriously considering developing my first non-web application. The iPhone seems like the perfect platform for such a task, thanks to its powerful SDK and numerous development tools.


The Beginnings of Native Application Development

I know what you’re thinking. Why haven’t I developed a native application yet? Well, while I know C++ and Java, neither of my courses ever entered the realm of graphical user interfaces. Everything I have done thus far with native application development has been strictly confined to the command-line. Not very helpful in today’s GUI-driven world. Also, while C++ is useful on the Windows side, Mac OS X is strictly Objective-C, presenting a minor barrier to my development entrance.

That is all about to change, though. I just scheduled a required course next semester in object-oriented programming. If I am unable to learn Objective-C on my own, IST 311 should help me fill in the gaps.

Although, more importantly, the iPhone SDK offers something I have yet to fully discover in Mac OS X development: an interface builder. The iPhone interface builder looks drop-dead simple, hopefully helping me cross over into GUI development.

Picking an Application to Develop

Now that the technical hurdles have been overcome, the real challenge lies ahead. I need to come up with an application to develop. While I’m learning I will stick to simplistic applications, such as “Hello World” and others, however eventually I would love to develop an application that others will use. That should not be difficult as the iPhone, being a new platform, will have numerous voids to fill.

I will be sure to keep you updated in my crossover into native application development. In the mean time, if anyone has any ideas for applications, I would enjoy hearing them. I am trying to stay unique, as I am certain when the Apple Store is launched there will be a plethora of To Do applications and so on, but do not hold back on your suggestions. Anyway, I hope to see you on the flip-side, a native iPhone application, soon.

4 Comments

  1. 1 James on Apr 10, 2008 at 7:35 pm (Quote):

    Although, more importantly, the iPhone SDK offers something I have yet to see in Mac OS X: an interface builder.

    Interface Builder has actually been around for a really long time. It’s always been included with Xcode. It’s pretty much how all Mac app interfaces are built.

    Although I’m not entirely sure if you meant you didn’t know about Interface Builder, or you’ve just never used it.

  2. 2 Ronald Heft on Apr 10, 2008 at 7:40 pm (Quote):

    James: Although I’m not entirely sure if you meant you didn’t know about Interface Builder, or you’ve just never used it.

    I meant I’ve never really taken taken advantage of an interface builder, and using one should speed up the learning process. I’ve tweaked that sentence to make more sense.

  3. 3 James on Apr 10, 2008 at 7:52 pm (Quote):

    It’s a serious time saver. I used to write Java UI’s with Swing, which can get pretty messy. Interface Builder is so simple to use and so intuitive.

  4. 4 Jonathan Weinraub on Apr 12, 2008 at 12:00 am (Quote):

    I’ve dabbled in GUIs before, but the reason why they teach you CLI apps first is because GUIs are extremely complex programs. You really need to have a very good understanding of classes, pointers, objects, etc. before you cross into GUI development. Of course advanced algorithms won’t hurt either.

    I’ve done .NET which is neat, but frustrating at times since I am just playing in a sandbox here. In school I did a self-taught senior project using KDE/Qt libraries. Also alot of fun, but strict licencing rules.

    I like to learn Gtk/Gnome eventually, and OS X development, I like to learn Objective-C. I do got an O’Reilly book, but didn’t really do more than the beginner level stuff.

    But as a suggestion, try to get hold of Visual Basic 6. Pre-.net. It is a bit easier and the concepts of GUI code interaction is very similar to the bigger boys in town. If you can’t get hold of that, in Linux try Qt libraries, but only Qt. Don’t delve into the more complicated KDE based libraries, which is an extension of Qt really.

    You can do Qt with its own interface builder, which essentially generates an XML file for you and the compiler converts it into “real” C++ code.

    Good luck! As for suggestions, I am not sure, but since I am thinking of a few myself I like to see what I can do too!

Post a Comment

If you have the urge to code, run it through Postable and <pre><code>wrap it up</code></pre>.