I've made a couple false-starts in learning iPhone development, but this time I'm not finding myself sputtering to a halt. In fact, I'm having a blast.
This weekend I'm reading through this book
:
Beginning iPhone Development: Exploring the iPhone SDK
.. and I've posted the following review:
When this book arrived, and I saw the book cover, I knew I got
something different. Not a cookie-cutter book but an original piece of
work where somebody really intended to teach something.
I just got this book a few days ago and with this 4-day
Thanksgiving weekend and living alone I have been having a blast
focusing just on this book. I haven't read through it all yet, still
just a quarter of the way through, but I'm not trying to cram. This
book does exactly what I want a book to do (as opposed to an online
reference resource): stop and talk about every little thing that is
really useful to know in the workflow of applications programming on an
iPhone.
These guys know how to write. They don't leave the reader with
presumptuous word choice and leave the reader hanging; every time they
say something it's like they read the mind of the reader, "Now you
might be wondering, what about... or why not do ... Well, let's talk
about that." Nearly every corner is covered, and where I still have
questions it's usually not directly related to the topic, i.e. I have
an Obj-C question. Even then, after I return from surfing the web for
answers, I return to the book and turn the page and the book says, "You
should read up on this stuff at [URL]"... I kid you not, this book had
me floored.
Looking towards the latter pages of the book, I can't help but be
astounded, thinking, wow, I get to learn about THAT? And in the same
style of learning that I've been enjoying so far? This is great!
There are very few errors, mostly just little things that the
reader can spot just by paying attention. There are plenty of enough
illustrations and tips to keep the reader engaged and constantly
learning not just the basics but how to get comfortable in the workflow
of iPhone development.
My only disappointment is that the book assumes knowledge of Obj-C,
but fortunately it comes with plenty of URLs and references to complete
those prerequisites as well, and really, to discuss Obj-C in detail, beyond the rather brief coverage-as-we-go that is indeed in this book, would have
been beyond the scope of the book so that's fine.
There's just nothing I can say bad about this book, and everything
good. It is by far the funnest technical book I've owned and cracked
open in months, if not years.
By the way, coming from a C# background (and Java and VB5/6 before
that), lightweight programming of the iPhone is EASY!! It's different,
but it's easy, particularly compared to C++ programming which I've had
a number of false starts. For me, if I can go from VBScript to VB6 to
Java to C#, I can go from C# to Obj-C. Also, the workflow of Xcode +
Interface Builder is somewhat analogous to the workflow of Visual
Studio + Expression Blend 2 for WPF programming, if indeed event
handlers would have been set up in the Blend designer in a
drag-and-drop way. I must also add, learning how to develop software in
Xcode forces the developer to learn MVC. I don't know why people who
are used to Visual Studio programming dislike the MVC-ness of Xcode
programming, but I love the change of workflow, and I think there is
much to take back with me when I return to C# development.