Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Saturday, March 08, 2014

iOS Programming: The Big Nerd Ranch Guide (4th Edition) Book Review

This book is the perfect place for an experienced developer to start with iOS programming. I say experienced developer because this book does a great job of showing you the basics of developing with iOS, but if you don't understand C and Objective-C, you are probably going to get lost. Maybe not, but I found myself saying, "I am glad I already know what that is" about quite a few topics that were used to explain the subject matter. If you don't know Objective-C, I would recommend starting with Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition).

This book does a great job of showing you what you need to know to get started with iOS. When you are done with it you should be able to easily move into programming iOS applications and learning more advanced topics along the way.

To give you an idea of the high level topics the book cover, I have listed the chapters below.

1. A Simple iOS Application
2. Objective-C
3. Managing Memory with ARC
4. Views and the View Hierarchy
5. Views: Redrawing and UIScrollView
6. View Controllers
7. Delegation and Text Input
8. UITableView and UITableViewController
9. Editing UITableView
10. UINavigationController
11. Camera
12. Touch Events and UIResponder
13. UIGestureRecognizer and UIMenuController
14. Debugging Tools
15. Introduction to Auto Layout
16. Auto Layout: Programmatic Constraints
17. Autorotation, Popover Controllers, and Modal View Controllers
18. Saving, Loading, and Application States
19. Subclassing UITableViewCell
20. Dynamic Type
21. Web Services and UIWebView
22. UISplitViewController
23. Core Data
24. State Restoration
25. Localization
26. NSUserDefaults
27. Controlling Animations
28. UIStoryboard
29. Afterword

With Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition) the authors provided no code samples. Although they still push you very hard to type everything, they do provide code samples with this book. They are very well organized and usable.

One thing I learned from Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition) is that the authors are right, if you type the code instead of read the code, you will learn and retain a lot more of the topics covered.

The reason for this is the way the authors use the samples throughout the book. It goes like this- add this ABC code, and then in the next example delete ABC code and add XYZ code, and then leave XY, but delete Z and add DEF code. You get the final result in the code samples, but going through what it took to get there is just as important.

I have this fourth edition and the third edition. I never got around to reviewing the third edition, but wanted to make sure I reviewed this one because I feel it is an awesome asset to the experienced programmer looking to get into iOS programming.

One thing I think most readers will notice right away is that the book does not use Storyboards until the last chapter of the book, and then the book puts the kibosh on them. I have used Storyboards in almost all my quick and dirty proof of concepts where I wanted simple navigation. In one of those I had to abandon them because of some complex navigation one sections of the application required.

I wouldn't completely discount Storyboards and would use them if the applications functionality allowed for them. It is just like everything else, you need to understand the architecture and the functional needs of the app enough to make an informed decision.

The diagrams in the book are awesome. They are UML-ish and really help by giving a visual representation of the topic at hand. The authors also use the right amount of screenshots. They do a good job of including them when they are needed, and they do not use them as filler.

The book also makes a good reference. Topics are short and to the point. There isn't any filler in this book, so when you need to look something up you have a nice concise explanation at your fingertips.

All in all, if you are looking to get into iOS, this is a great place to start. If you are an experienced iOS developer, it makes a nice reference for the features only used once in a blue moon.


iOS Programming: The Big Nerd Ranch Guide (4th Edition)

iOS Programming: The Big Nerd Ranch Guide (4th Edition)

posted by tadanderson at 8:35 PM

0 Comments:

Post a Comment

<< Home

Previous Posts

  • Design Patterns in Java LiveLessons Review
  • Being Agile: Eleven Breakthrough Techniques to Kee...
  • Windows 8.1: The Missing Manual Book Review
  • Programming iOS 7 Book Review
  • Microsoft SQL Server 2012 Unleashed Book Review
  • Microsoft SharePoint 2013 Pocket Guide Book Review
  • The Agile PMO: Leading the Effective, Value driven...
  • Downloadable Video: Achieving Agile Transformation...
  • iPhone: The Missing Manual Book Review
  • SharePoint 2013 Unleashed Book Review



Powered by Blogger