Series: Big Nerd Ranch Guides
Paperback: 416 pages
Publisher: Big Nerd Ranch Guides; 5 edition (December 26, 2015)
Product Dimensions: 6.9 x 1.2 x 9.9 inches
Shipping Weight: 1.9 pounds (View shipping rates and policies)
Average Customer Review: 4.5 out of 5 stars See all reviews (33 customer reviews)
Best Sellers Rank: #18,167 in Books (See Top 100 in Books) #1 in Books > Computers & Technology > Programming > Apple Programming #1 in Books > Computers & Technology > Programming > Languages & Tools > Swift #4 in Books > Computers & Technology > Mobile Phones, Tablets & E-Readers > Programming & App Development
Disclaimer: I have read a third of the book starting from the front cover and then jumped around a bit to some later chapters.I purchased an earlier edition of this book a few years ago to see what all the rage was about with mobile (well, specifically iOS) development. I have not been doing any iOS development for the past 7 months, and so I was looking to jog my memory and get a fresh perspective at iOS development.First and foremost, if you haven't seen the description, this edition uses Swift instead of Objective C. If you're looking to learn iOS with Objective C (I still prefer Objective C, although Swift is growing on me), check out the previous edition of this book, although be warned some of those API's might be deprecated. If you want to learn Objective C by itself, I highly recommend Objective-C Programming by Aaron Hillegass or Programming in Objective C by Stephen G. Kochan.Chapter 1 starts off very basic with an introduction to Xcode, discussion of MVC, and creating layouts. By the end of the chapter, you'll have a functioning "Hello World"-esq application where you have UI elements connected to your View Controller. Chapter 2 covers Swift and some of its nuances that make it really stand apart from Objective C. Here you'll become a bit more familiar with the syntax of writing variables, constants, arrays, methods - the essentials for writing any code. I found the discussion on Swift optional types to be particularly helpful. Chapter 3 starts getting into views, the view hierarchy, and Auto Layout. I was glad to see this chapter came up sooner rather than later. Chapter 3 has you actually create a basic UI and immediately gets you to think about how your views will adjust to different screen sizes.
I am a big fan of the Big Nerd Ranch series, and I think they do an amazing job of explaining code and how to write an application. I am a seasoned iOS developer, and have read their Obj-C Programming, iOS Programming 4th edition, and Swift Programming - bravo to all of them. However, this book is lacking some serious topics:1) There is no explanation of how to use Objective-C in Swift projects. This was explained in Swift Programming briefly for a chapter, but given that a good majority of existing libraries, Stack Overflow Q&A and previous projects are written in Obj-C, this was something that definitely needed more explanation, especially for a book that claims as a complete guide to iOS dev.2) There is no explanation of Storyboard vs. Xib. This is a debatable topic among the iOS dev community, but many prefer Xib (including myself) over the Apple-sponsored Storyboards for reasons that were explained in the 4th edition of this book. However, there is no explanation of this in the book - let alone showing the alternative approach of using Xib, which is a method many professional developers prefer (once again, debatable).3) No mention of Core Graphics, permission inquiries (push, location, etc), singletons, Cocoapods or Git. Core Graphics could be sufficient with one chapter (4th edition dragged this on for 3), permission inquiries like push and location are too commonly used to ignore it completely, singletons are basic comp sci methodology that was well explained and used in 4th edition, Cocoapods is an absolute must for any iOS developer these days, and git could be summarized in a section with default Xcode source control (no need for remote). While the last two are not strictly iOS development, definitely would be worth mentioning.
iOS Programming: The Big Nerd Ranch Guide (5th Edition) (Big Nerd Ranch Guides) iOS Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) Swift Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides) Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition) (Big Nerd Ranch Guides) Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides) Apps: Mobile App Trends in 2015 (iOS, Xcode Programming, App Development, iOS App Development, App Programming, Swift, Without Coding) ((Android, Android ... App Programming, Rails, Ruby Programming)) Android Programming: The Big Nerd Ranch Guide (2nd Edition) Android Programming: The Big Nerd Ranch Guide Programming #8:C Programming Success in a Day & Android Programming In a Day! (C Programming, C++programming, C++ programming language, Android , Android Programming, Android Games) Programming #57: C++ Programming Professional Made Easy & Android Programming in a Day (C++ Programming, C++ Language, C++for beginners, C++, Programming ... Programming, Android, C, C Programming) SWIFT: PROGRAMMING ESSENTIALS (Bonus Content Included): Learn iOS development! Code and design apps with Apple's New programming language TODAY (iOS development, swift programming) Programming #45: Python Programming Professional Made Easy & Android Programming In a Day! (Python Programming, Python Language, Python for beginners, ... Programming Languages, Android Programming) IOS Programming For Beginners: The Simple Guide to Learning IOS Programming Fast! C#: Programming Success in a Day: Beginners guide to fast, easy and efficient learning of C# programming (C#, C# Programming, C++ Programming, C++, C, C Programming, C# Language, C# Guide, C# Coding) Android: Programming in a Day! The Power Guide for Beginners In Android App Programming (Android, Android Programming, App Development, Android App Development, ... App Programming, Rails, Ruby Programming) DOS: Programming Success in a Day: Beginners guide to fast, easy and efficient learning of DOS programming (DOS, ADA, Programming, DOS Programming, ADA ... LINUX, RPG, ADA Programming, Android, JAVA) ASP.NET: Programming success in a day: Beginners guide to fast, easy and efficient learning of ASP.NET programming (ASP.NET, ASP.NET Programming, ASP.NET ... ADA, Web Programming, Programming) FORTRAN Programming success in a day:Beginners guide to fast, easy and efficient learning of FORTRAN programming (Fortran, Css, C++, C, C programming, ... Programming, MYSQL, SQL Programming) Prolog Programming; Success in a Day: Beginners Guide to Fast, Easy and Efficient Learning of Prolog Programming (Prolog, Prolog Programming, Prolog Logic, ... Programming, Programming Code, Java) Parallel Programming: Success in a Day: Beginners' Guide to Fast, Easy, and Efficient Learning of Parallel Programming (Parallel Programming, Programming, ... C++ Programming, Multiprocessor, MPI)