Book Review: Swift for the Really impatient

Photo Jan 03, 3 19 31 PM
I was one of the lucky ones who got to read this book early and so I decided to write a review for the benefit of my fellow developers out there, specially those who are trying to shift from web to mobile particulary in iOS development. I am writing this review in a PHP programmers perspective, I am a seasoned web developer but i have zero experience in mobile. With that said, i have already a deep understanding of how programming works and knows the usual syntaxes and workflows.

Ok, so what’s good with this book? as the book title suggests it’s really for those impatient ones who virtually have no time to dedicate in deeper reading or learning the language and wants to learn it on the fly but just needs some base. This book is not for everyone. If you have zero experience in programming and want to learn swift, you will have a hard time understanding the concepts presented in this book. If you are a seasoned programmer but have a weak grasp of object oriented approach, you can still learn a lot from this book but not as quick and you’ll definitely have to be patient and maybe read the lines twice and delve on the sample codes more. This book is written specifically for those guys who are already masters of objective-C and just wants a quick and easy way for them to understand or as they say it test the waters of the swift language. A lot of times, you will read in the book that the author presents a code written in objective C and it’s swift equivalent. It also tackles concepts in objective C and how it has been changed or simplified in swift. It has chapters dedicated on how you can use objective C and swift side by side, or how you can integrate new swift codes to your old objective C codes or in reverse, how you can still use your old Objective C classes on your new swift projects. So basically if you’re an objective C guy and wants the quickest way to be a master at swift you’ll definitely want to get this book. You’ll be over it fast. I finished reading it in maybe less than 10 hours and i’m telling you i know not one objective C line. Although Objective C is quite unreadable specially for those of us who are used to PHP, it’s not really that cryptic and it’s not like some chemistry formula.

For those asking this question: I am a well versed <insert your language here> programmer, should i get this book to learn swift quickly? My answer is yes, definitely! But do not expect that you can write iOS apps by reading this book. I guarantee you can learn the language and maybe write classes and complex functions and workflows and play with different data types of swift and it’s new features and be an expert at it by reading this book But this only tackles the swift as a language. The swift as the language used to call the classes or the framework that iOS uses. This does not discuss the uses of the iOS classes nor does this discuss how to create your first iOS project. It does not even discuss how to create a playground in xcode which is your very basic input interface for getting a feel of the language. If that’s the case. why read this book? Simple, you need the basics of swift to even get started and in this book, it’s not just the basics but it also tackles the advance areas of swift so if you have this thing solid. Then you are ready to call the iOS classes and use them and manipulate them through swift. I’m telling you, the curve for learning how to develop iphone apps have significantly been cut, like maybe 50% with the introduction of swift. Suddenly the language which powers your favorite iphone games does not look as cryptic as before. You can declare variables which have a degree of similarity on how you declare variables for example in PHP. There are lots of lessons you can learn by reading this book.

Another thing I like about this book is that how the author seems to really hate tracing back logical errors. You know the bugs that are really hard to find. The ones which gets you backtracking a thousands line of codes checking which line caused the output to be off by some points. Almost on every chapter in this book the author will suggest some error catching techniques and how swift is designed to be able to get rid of those easily. Maybe that’s how swift was built or that’s how the author love to write his codes but i learned a lot from it. Specially that i’m a php guy where data types do not matter at all. In swift’s term all php variables are of type generic. Yes swift is a strongly typed language but you can implement it like a weak type if you wish, it’s something i observed from reading this book.

How about the terms used in this book? It’s totally understandable if you have an OOP background, you know the singletons, instances, inheritance, overloading and stuffs. If all of that sounds weird and new to you. I suggest you read first about the basics of OOP before reading this book at all, because you will be lost with the concepts if you dont have the slightest of understanding of those terms. How are the lessons presented? it’s clear, direct to the point and it will hit you fast. Put it this way, it’s either it’ll hit you head fast or you’ll get lost fast. Depends on how you process your information, but if you’re a programmer you’ll get by it just fine.

All in all, i learned a lot from this book even though i have zero Objective-C experience, which was fine because it is written somewhere in the book that this book is really for the guys that have been already developing iOS apps, by no means it’s a gateway book to the world of iOS programming. If i have to rate it on programming books i have read i’ll have to give it 7, a passing score yes. Lacking maybe is things like introducing to xcode playground and write some swift lines in there just so maybe guide those who havent used that feature before specially since xcode 6 was released specifically because swift was out and there are changes that was necessary for swift.

If you want to buy the book, just go here: Amazon Page or InformIT Page

Leave a Reply

Your email address will not be published. Required fields are marked *