Required reading for ObjC developers
589164
Thorough, concise, and very well written, Effective Objective-C details 52 important language specific concepts that will elevate the quality of even a seasoned developer's code. Full of great code examples and best practices.
4769740
I started learning iOS App developments 2 month ago and the problem was most of iOS App books suppose you have an experience in some programing language like C or Java which make things difficult!
This book starts with you from ZERO and helps you to understand the concepts easily.
After I read this book I can now read the advanced iOS App books and the Objective-C code without suffering.
723024
Before my review I want to tell you about my background.  I have been a web developer (html,dhtml,js,ajax,php,asp,asp.net,cfm) since 1999.  I have also done a ton of client server apps on windows with unix / oracle backend.  Just recently i released three apps on the android os, with one of them being a phonegap app.  So my understanding of programming and is pretty extensive.  I have also taken the Stanford iTunes course on iPhone development, which is a must do for any wannabe iPhone dev.

For me I wanted to be able to utilize my abilities to develop apps efficiently.  Since I am not a huge fan of Obj-C, I couldn't do that with the native language of the iphone.  This book helps you understand how to utilize the main functions of the phone (play sound / accel / gps) without having to write much Obj-C.

As far as moving Dashcode to xCode, this is a very simple process.  Once you learn it, which it only takes one time doing it, you will fly through it.  I do remember seeing a video the author posted on his website on how to do this.  So if you struggle understanding how to migrate the source from Dashcode to xCode, take a look at the authors site.

Something that is really nice that the author did was include a ton of examples on how to use QCiPhone.  This includes Dashcode and xCode examples.  It includes a nice map example.  However it is not the embedded 3.0 map, it is a little different but still works nicely.  It allows you to place pins on the map as well as use your fingers to pinch and expand.

So far the book does not mention the use of google group the author set up.  If you have questions, you can always post them on the QC google group.  Which I have been out there many times searching for methods other users have posted.  You can also communicate with the author directly on that site.  He is very helpful.

I like how the author has given you a nice model to follow, ie. Validation Control Functions, Business Control Functions, View Control Function, and Error Control Functions.  By following this model, you can create a nice modular app with reusable code.

Overall, the book is a great place to start developing your first web app that you put on the app store.
4564213
Written more as a reference than a tutorial, the book doesn't present much in terms of discussion or example code, however it is still packed full valuable technical information that cannot be found elsewhere at this time, not even the official specification. I'm still reading it, I will update my review when I read it cover to cover.

So far my favorite quote is from the glossary: "Apple is a piece of fruit. Fruit does not support Vulkan."
217574
I have been helping a team of student programmers that are working on a project for a modular robotics company.  Developing real applications is, of course, very complicated, but as programmers we have developed pretty good survival skills. We were having so much trouble, however, as early on it was mandated that we use SpriteBuilder and Cocos2D rather than Apple's new SpriteKit.  Even Stack Overflow and extensive searching online only brought us more confusion--it was as impossible as trying to find good Python Cocos2d documentation (I'm hoping learning the Python bindings will be easy after reading this book).

So when I saw this book was finally published, I couldn't even wait for Amazon--I bought a copy locally at bookstore.  I am now several chapters into this book and it is as the author intended it to be (as explained in the preface): a guide to developing a complete 2D scrolling parallax game primarily using SpriteBuilder and Obj-C in XCode.  The book does NOT cover Swift--but that was no problem for us--we were mostly confused with how Spritebuilder worked with XCode to develop Cocos2D apps.  There were surprisingly few examples explaining all the recent changes to the entire SpriteBuilder publishing to XCode process.  In effect, we were struggling with the parts that are supposed to be EASY with SpriteBuilder.

To summarize: this book emphasizes SpriteBuilder as the primary tool for game dev, but certainly does show the details of "wiring it all together" using Objective C in XCode.  This nicely complements SpriteBuilders online "Getting Started" example in which they quickly publish (compile and export) to an XCode project and say "now, if you want, you can be done with SpriteBuilder and do all your work in XCode."  We were doing all our work in XCode, mostly because we didn't quite understand how it all "fit together."

I hesitated to give this five stars, as I'm only a few chapters into the book.  Nonetheless, I wanted to clearly detail what this book supplies that is simply not available elsewhere.  As I type this, Cocos2D is undergoing many changes in the online documentation and tutorials.  This book has much more to offer at this time, and we terribly needed something to help us.
4606448
GOOS is a revealing walk through the construction of an online bidding system. The authors demonstrate how to evolve meaningful object design during the development process, as opposed to deriving simplistic and static designs by identifying the nouns and verbs in use cases as described in earlier OO books. Throughout the book the reader is guided through a powerful approach to test-first development.

The only reason I did not give this book five stars is that some of the frameworks the authors used are no longer available or are obsolete. This makes it nearly impossible to build the system along with the authors.
2638644
While it is obviously useful to know C and Objective C fairly well to program in Apples SDK, I dived into this one hoping that I'd "pick it up as I went along" with minimal preparation (I knew what a method was, how to do declarations, what the format was for referring to methods and objects, but fairly basic stuff only).

I was pleasantly surprised; it went much better than I expected, much helped, of course, by Apple's X-code which makes it relatively easy to make mistakes, fix them, and when all has gone seriously belly up, start over. This forces the repetition that is needed to learn a language (foreign or programming) and makes working through the examples a pleasure.

One nice touch that the authors employ is using repetition from chapter to chapter, rather than just treating a technique as a stand-alone process (for example, you learnt to make an alert, now we'll do it again; you want to make the user experience richer, here's how). The repetition motif is also used to describe how things work -an analysis of the code, a description of what the code did in clear English and then some tweaks to the code to make it more useful or have a better user experience.

Another feature that makes this book stand out is the appearance of comment boxes that are scattered around - these provide cautions, asides and general advice that isn't specifically related to the job at hand.

The book is very readable, but it could have been enhanced by the use of diagrams showing how the parts of an application relate to each other, although forcing the user to do this themselves probably also improves the learning process.

In all, strongly recommended.
1743546
One of the few texts in the literature to deal with development and quality issues that arise in large C++ projects.
It introduces the concept of component and package as the unit of physical design. On this concepts the text develops extremely valuable design rules, practices and techniques (to name a few: factoring, escalating encapsulation, protocol classes, fully insulating concrete classes) to obtain critical qualities (like levelization and insulation) for large-scale C++ projects.
The text gives also rules and techniques that address logical design issues in perfect harmony with the techniques related to physical design issues.

Although it was written back in 1997, the book remains as timely as ever, given that exposes the same problems that justify the likely introduction of Contracts and Modules in the next C++17 standard.

I strongly recommend the book to any C++ developer who wants to take advantage of the precious experience gained by the author in the context of really large C++ projects.
4926338
I think this book is a very good and concise introduction to native iPhone development. After reading the book I now know enough to start coding with xCode. I especially liked that the book concentrates on principles instead of covering every detail. So after reading this book I really have a good overview on how to create apps for the iPhone. I personally don't like the very short chapter on other native platforms. I think this chapter is the weakest of the book, either the author extends this chapter in the next edition or he should provide just a reference to those alternative platforms in the last chapter.
1062214
I was reviewing the Gang of Four's book on Design Patterns and read Grady Booch's Forward. I decided to buy and read his Object-Oriented Analysis and Design with Applications book. I am very glad that I did. Booch does a great job of presenting the foundations of OOD, connecting all of the dots, and demonstrating how to apply OOD to various applications. I think this is a must-read for any professional OOP designer/developer.
4398336
This electronic book is written in the same style as an App - focused, visual and with a consistent use of metaphors.  Mr. McNeish efforts to ensure that the Xcode process is clearly laid out and therefore useful is well thought through.

From clear combinations of text and visuals to video links directly enbedded in the document, McNeigh mostly succeeds in making learning iOS app development as much fun as using iOS apps.  There are a few places where a track or two is loose but these will be picked up on in the errata.  Cheers to a job well done.
4524970
An excellent book. The early chapters reveal solid solutions to oft-encountered COM problems - error handling, string manipulation, smart pointers, multiple-reader single-writer locks, streaming and marshal-by-value etc. The later chapters concentrate mainly on design techniques for building scalable applications. In my (humble) opinion, chapter 13: The MTS Revolution is worth the price of the book alone. This chapter describes the evolution of technologies for building scalable systems, introduces the single-concurrent-client model and explains how to write scalable systems keeping code maintainable and in the general case, lock-free. All would-be COM+/MTS developers should read this chapter! I've read both this and Tim Ewald's Transactional COM+ - both excellent books and compliment each other very well. In my opinion, Brown's chapter 13 is far superior to Ewald's chapter 1. Both attempt to acheive the same thing, coaxing the regular developer into the COM+ mindset, but Brown's offers logical facts and reasoning as opposed to Ewald's non-real-world convoluted IPerson examples.
1373401
Andrew Duncan's Objective-C Pocket Reference is just the book that budding Cocoa programmers should have on their desk.  It is well written, well indexed, and succinct enough to read in an evening if desired.
After reading it cover to cover, I think this will be a valuable resource for looking up any Objective-C related questions I have.
Note, you should have an understanding of C before trying to read this book.  Also - it will probably make more sense to you if you already have some experience with Cocoa.  This is a quick reference - probably not the best way to learn the language.  However, the book contains a list at the end which recommends other books and websites which are more thorough.
I'd say it's well worth the cost.
501038
This book does an excellent job of covering the OSX Cocoa API using Swift. The coverage is broad enough to get you started, but never tedious. The writing style is brisk, compelling and straightforward.

I have only two complaints about the book. One problem is the near-total emphasis on using Interface Builder to build your GUI, with almost no coverage of how to build equivalent user interfaces in pure code, which can often be simpler and more general. The other problem is a lack of comparison between (a) similar concepts in iOS vs OSX, and (b) feature differences among the various versions of OSX.

Despite these limitations, this book is an excellent introduction to modern Cocoa programming.
3990044
If you want to learn how to get CoreData to sync between different devices via iCloud: this book is a must read! This book's approach to configuring CoreData for use with iCloud actually works. In my efforts to get iCloud sync'ing of CoreData to work, I've read not only Apple's documentation and watched it's WWDC videos, I've also read other "how to" books, including an otherwise fine book by Marcus Zarra on the topic. But of all the sources I've gone to, the method outlined in this book works! I'd buy the book for this one reason alone.

The rest of the book has good information on iOS's rich API. It's helpful and well written... and comparable to all the other "iOS how to" books out there. If you're not interested in CoreData syncing and you haven't purchased any other books yet on writing iOS apps, you won't go wrong getting this book. I like its approach to using the building of an app as the training vehicle. While, a lot of other books use the same approach as this, it's as good as if not better than the rest. I especially liked how you are introduced to using both XIB's and storyboards for building app UI's. As a professional iOS developer, I've found that while storyboards are great, you'll still do a lot of work using XIB's. Mainly because there are a LOT of apps are out there that are built around XIB's and XIB's are easier to use in a team developer environment. This book will teach you both approaches. It introduces you to XIB's first then shows how to migrate to storyboards.

If you are like me, with a deep experience in software development but want to transition to iOS development and you want to incorporate CoreData and the ability to use iCloud sync'ing of data, this book is a must read! The rest of the information is helpful, but it's approach to iCloud sync'ing of CoreData is worth the price of the book many times over.
2481278
This is one of the best books I have seen which covers the basics of Object Oriented development, program design and actual Java coding in such an easy to read style. I read the first five chapters from a hospital bed  but did not feel lost by not having my PC to try out the examples as they  were so well documented. Using a single example program throughout the book  provides excellent continuity of purpose as the chapters unfurl but may  put some people off buying the book if the end product (a stock market  tracker) is of no interest to them - I would say that the techniques are  more important than the program - I don't really want a tracker  but I  couldn't put the book down once I had started to read it. Many of the  techniques shout out for further examples but these are freely available  from numerous sites on the web - the book is large enough as it is. I would  recommend this book to anyone "starting from scratch" as a good  all-round primer.
1622461
At the time of this review I am about halfway through the exercises in this book. It has the quality we have come to expect from the Pragmatic Bookshelf. The code examples are clear and well-documented--the author encourages you to work hands-on with RubyMotion from the first chapter. If you're new to iOS development this will get you familiar with the RubyMotion toolkit, basic features of iOS, and how to structure a RubyMotion project. If you are experienced with Objective-C this book will you up and running quickly by demonstrating the RubyMotion way of laying out a project, which in my opinion is much nicer than using XCode. The book website over at PragProg also includes a discussion forum where the author personally answers questions. Highly recommended.