🚀 Code Your Future: Become an iOS Pro Today!
The Big Nerd Ranch Guide to iOS Programming is a comprehensive resource designed for aspiring developers. It combines expert insights with hands-on projects, ensuring you not only learn the theory but also apply it in real-world scenarios. Perfect for those looking to enhance their skills and advance their careers in the tech industry.
J**K
Outstanding as always, inspiring wishes for more
Full disclosure: I've attended two bootcamps and one travelling workshop with BNR, all as just another paying student. I also applied for a job with them, though I did not pass muster. I would still love to work for them.Also, thus far I have completed only 9 of 25 chapters, though at 212 pages of 491, that's 43% of the content. I will update this review as needed until I have completed working through the book.All that said, let's get to it.This book maintains the extremely high production values that their physical books always bring. The paper is great quality stock, chock full of helpful illustrations, with crisp text on a bright white background. Holding and working through this book brings joy. (And yes, that matters. When a fifth edition of my beloved Harbison & Steele "C: A Reference Manual" appeared, I jumped on it...but the pages were thinner and yellower; it was awful to hold and use, so I opted for the prior edition when I could.)Adding to the production values, the table of contents and the index are extensive if not perfect (e.g., neither "guard" nor "struct" appear in the index, though I would expect them to point to the page of first real use), and I have yet to find a single mistake or even a typo in the book.Some chapters have been reordered from the 6th edition, and I believe the new ordering makes much more sense. For example, the chapter on UI animation was pushed from Chapter 8 to Chapter 19. To me, that seems much more practical. And some lesser-used material was replaced with material that's more important.All instruction has been very clear, which is standard for BNR. Noone that I've seen teaches like they do, and they rock. The lessons include intentional "errors", so when you encounter the issue in your own code, you won't be left hanging.The "WorldTrotter" app was a joy to work through, and the too-cutesy-named Homepwner app was renamed to LootLogger. I'm especially looking forward to Chapter 17 (page 349) where they introduce the new "Mandala" application. It's a "feelings logger" (um, okay) but it introduces extensions, structs, enumerations, and even a custom protocol. The custom protocol is a welcome surprise because earlier (Chapter 6, page 130) they wrote, "the protocols we use in this book are part of the iOS SDK," which had bummed me out a bit.There were two instances when I thought there was a mistake, but the mistakes were mine. One was in how to type accented characters, and the other was in talking about "subscripting" a dictionary. I had no idea that typing, say, and accented "e" (Ă©) could now be done by holding down the e and waiting for a pop-up menu to appear, then selecting the desired character. (The old way -- option+e then e -- still works.) I thought subscripting applied only to arrays, but the Swift docs note that dictionary lookup is implemented using the "subscript" keyword. Good to know on both counts!If I'm going to be critical...There used to be a saying that one could write FORTRAN in any language, and sometimes it feels like that here. For example, 212 pages down, and still no mention of "guard", though some methods have an "if" test at the top and bail if the method precondition is not met. (Guard *is* covered, and covered well, but not until Chapter 15, page 323.) In another case, they swap array values the same way we did decades ago, whereas the array "swapAt(_:_:)" would be a perfect fit, and would encourage checking the standard library for existing methods.And for all of Apple's encouragement to prefer structs over classes, it looks like structs aren't used until Chapter 17 (page 349). That's when extensions are introduced as well. This seems a crying shame, given how important both are. On the one hand, it's good to build good habits early, but on the other, maybe it would have been too much, too soon.Chapter 9 spends a page (192) talking about "dependency inversion" as the reason ItemStore is injected rather than instantiated directly in the ItemsViewController, and that would make sense, except that it's then used with full knowledge of the ItemStore implementation, rather than defining a protocol and writing against that. [Update: My bad; those are separate things. Writing against a protocol takes it to the next level, but injection is good even without that.]Let me be clear, though. For all the nitpicking above, this is an outstanding book, for which I am very happy to rate the full five stars. I'm learning (and relearning) lots, and its clarity makes it a very easy read.Swift is a *very* rich language, and this is an introductory book. It covers a lot, but there is a lot to cover. I wrote a tech talk on Swift for work (just to provide a "feel" for the language, not to teach writing apps), and even with speaking quickly for an hour, there was still much that I could not cover, so I understand the trade-offs one must make for time and/or space constraints.As I wrote in the headline, I would love to see more, perhaps in an intermediate-level volume. That could include not only more about good architecture, but also about writing for testing (and for UI testing). There's also SwiftUI -- not mentioned here at all -- which could easily fill another tome.Steve Jobs said, "People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully."For all my whining above, I believe BNR did a great job of keeping focus on their intended audience.Very highly recommended.-- UPDATE 05/26/2020 --Up to page 288. FINALLY, I understand closure syntax for defining a property. That had been so confusing for me, but now it is clear.Also, be sure you do the exercise for changing the Back button to say "Back" (Chapter 12). The correct solutions (more than one) each take only a few seconds, but if you don't take their hint to heart, the task is hugely frustrating.More notable production values.... I LOVE the liberal use of white space: referenced figures and screenshots are always on the same page they are first referenced, even if that means leaving a page half-empty and moving the referencing paragraph to a new page. Also, chapters ALWAYS begin on an odd-numbered (right-hand) page, even if that means leaving the preceding page entirely blank. That lack of clutter helps the mind stay clear and relaxed. Love it.This book is SO good.-- UPDATE 06/02/2020 --Boom; there it is. Chapter 17 is where everything starts to come together. Extensions. Structs. Protocols (i.e., programming to an interface). And a container view controller for good measure. Great stuff.-- UPDATE 06/07/2020 --Holy smokes. Just finished Chapter 19, and the completion of the "feelings logger", but don't let the app description throw you: these three chapters (17-19) are fantastic. In just 40 pages, they demonstrate the power of using a container view controller for creating reusable portions of the UI, and using a custom UI control to add some serious polish via animations to an otherwise functional but meh app. (40 pages may sound like a lot, but really, it zips by.) Fan-bloody-tastic.-- UPDATE 06/21/2020 --Finished. LOVED the last coding chapter, on accessibility. It's amazing how little code it takes to expand the audience for your app. Chapters 20 - 24, on web services and Core Data, were outstanding as well. Just to show they're human, there was a small typo on page 453, a duplicated sentence on page 484, and an easily fixed bug in the code on page 469, where they neglected to clear an array before reloading it. But seriously: 491 pages, and those three things are the only "errors" I could find? Amazing.The book contains a stunning amount of USEFUL breadth; nothing here is gratuitous, or included just because it's impressive tech. AutoLayout has been particularly rough for me, but this book made it look easy. An awful lot of apps can be written using just the techniques in this book. You need to be comfortable in SOME language first (Swift, Java...whatever), but that's it. Some things you'll have to take on faith that they'll cover shortly (e.g., var vs. let) but trust them; they'll get to it.I pre-ordered my copy in January 2019 and received it 20 months later; it was well worth the wait.Very highly recommended.
M**E
Excellent book, very good progression!
This is an excellent book. What it covers, it covers well. I would wholeheartedly recommend this book to anyone interested in iOS programming. I might even go so far as to call this required reading for anyone looking to gain a deeper understanding of the subject. I did not find any coding or typographical errors, which I feel is amazing because this may be the first coding book that I can say that about and I have read many!However, I do feel that there is room for improvement. As the book progresses, the directions become less detailed. I assume this would follow the format used in a classroom where it is assumed that you know how to do something already because it was covered in previous chapters so little detail is provided. I think this is excellent in a classroom environment where there is interaction and someone available to answer questions. In book format though, I feel the directions given need to continue with the same detail throughout the book.As they mention in the book, this is basically an introduction to each of the topics covered. It provides a lot of detail, but each chapter could probably be expanded into a book on it's own if it were to dive deep into every topic. I was a little disappointed that Source Control was not addressed at all because the Source Control integration in Xcode is a very powerful feature.This book feels like a 7th edition that is a culmination of incorporating feedback from both readers and students for several years. It flows very well, provides a lot of information, and has no obvious errors that I found. If you're wondering if this book is worth it, buy it now. You'll thank yourself later.
S**S
Developing iOS Dev Skills
This book is absolutely fantastic! I have been reading it, going through the challenges, and even attempting my own little changes through the programs it demonstrates in the book. It provides a very useful foundation in both Swift and iOS development, which is necessary for those who may not have programmed or those who want to kickstart into learning mobile app development. The book glides through and the challenges do require some thought, but once you figure them out you've just added a skill to your arsenal.I have read books by Aaron Hillegasse before, which is why I chose this book. Him and his colleagues provide useful information, questions to the reader, and the ability to grow into the scope of what you're learning. Their books are the best out there for learning these skills in the world of Apple. I haven't had to look up any errata to see if any errors were in the book. Everything has worked as expected.I will probably purchase the 8th edition of this book for iOS 14 as well.Finally, and most importantly, if you're getting into the world of development, you won't get it down immediately. It takes practice and time to learn. Keep working on your skills and stepping out of the bounds of what the book teaches you. It will help you gain successful skills to further your development adventure.
A**C
Doesn’t get better than this
Great source. Prepare to get deeper understanding!
C**8
Best iOS development book!!
This is the best book to get started in iOS development. I purchased the original objective-c edition 5 years ago, and have been passionate about recommending books by The Big Nerd Ranch ever since.
T**Y
Missing digital download page
Product looks to have had digital download page removed for first section ?
Trustpilot
1 week ago
1 month ago