Welcome!

Microservices Expo Authors: Pat Romanski, AppDynamics Blog, Liz McMillan, Elizabeth White, Stackify Blog

Related Topics: Java IoT, Industrial IoT, Microservices Expo, Microsoft Cloud, Machine Learning , Wearables

Java IoT: Book Review

Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)

This book is the perfect place for an experienced developer to start with iOS programming

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 C and the Objective-C language, but if you don't understand the basics of programming, 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 are experienced with C#, C, Java, or C++, you will be fine.

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 learning more by reading more books, like iOS Programming: The Big Nerd Ranch Guide (4th Edition). You will need to learn a lot more to be proficient in Xcode and iOS.

The book is broken down into 5 parts. I have summarized each below:

Getting Started (Chapters 1-2)
This first part explains what you can expect from the book, and what the author's expect of you. It then takes you through the steps of creating your first application with Xcode.

How Programming Works (Chapters 3-12)
In this part you get an overview of C. The authors take you on a tour of some programming concepts using the functionality provide by the C language. Topics they cover include Functions, Variables, Types, if/else, Loops, Numbers, Format Strings, Pointers, the Heap, and Structs.

Objective-C and Foundation (Chapters 13-30)
In these chapters the authors take you on a tour of object oriented concepts and Objective-C. Topics covered include Objects, Messages, Memory, NSArray, NSString, Classes, Inheritance, Instance Variables, Leaks, Collection Classes, Constants, Reading and Writing Files, Callbacks, Protocols, and Property Lists.

Event-Driven Applications (Chapters 31-32)
In this part you write an iOS and a Cocoa application. While building the applications the authors introduce the Model-View-Controller pattern, setting up views, wiring up buttons and table views, loading and saving data, Interface Builder, and they discuss the role the application delegate plays.

Advanced Objective-C (Chapters 33-37)
Here the authors cover init, more about properties, key-value coding and observing, and categories.

Advanced C (Chapters 38-42)
In these final chapters the authors cover C strings, bitwise operators, C arrays, and using the command line and command line arguments.

How are the code samples? Well that will be up to you because the author's policy is this - "Given that the code samples are short. And that they often go through a few revisions. And that if I publish the code some people will read it instead of typing it in. I'm not going to make the code available."

You will need to type the examples if you want to see them in action. That is not such a big deal because the way the authors use the samples throughout the book is 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. The authors tell you at the beginning of the book you are going to want to read this in front of a Mac. They aren't kidding.

Coming from a long career in C#, and before that C and C++, this was the perfect place for me to start with iOS programming. I have this second edition and the first edition. I never got around to reviewing the first 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.

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.


Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)

Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)

More Stories By Tad Anderson

Tad Anderson has been doing Software Architecture for 18 years and Enterprise Architecture for the past few.

Microservices Articles
Skeuomorphism usually means retaining existing design cues in something new that doesn’t actually need them. However, the concept of skeuomorphism can be thought of as relating more broadly to applying existing patterns to new technologies that, in fact, cry out for new approaches. In his session at DevOps Summit, Gordon Haff, Senior Cloud Strategy Marketing and Evangelism Manager at Red Hat, discussed why containers should be paired with new architectural practices such as microservices rathe...
With the rise of Docker, Kubernetes, and other container technologies, the growth of microservices has skyrocketed among dev teams looking to innovate on a faster release cycle. This has enabled teams to finally realize their DevOps goals to ship and iterate quickly in a continuous delivery model. Why containers are growing in popularity is no surprise — they’re extremely easy to spin up or down, but come with an unforeseen issue. However, without the right foresight, DevOps and IT teams may lo...
DevOps is under attack because developers don’t want to mess with infrastructure. They will happily own their code into production, but want to use platforms instead of raw automation. That’s changing the landscape that we understand as DevOps with both architecture concepts (CloudNative) and process redefinition (SRE). Rob Hirschfeld’s recent work in Kubernetes operations has led to the conclusion that containers and related platforms have changed the way we should be thinking about DevOps and...
"There is a huge interest in Kubernetes. People are now starting to use Kubernetes and implement it," stated Sebastian Scheele, co-founder of Loodse, in this SYS-CON.tv interview at DevOps at 19th Cloud Expo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, will discuss how to use Kubernetes to setup a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, deploying, and maintaining server and workstation infrastructure at all scales. He has experience with brick and mortar data centers as well as cloud providers like Digital Ocean, Amazon Web Services, and Rackspace....
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
Is advanced scheduling in Kubernetes achievable?Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, answered these questions and demonstrated techniques for implementing advanced scheduling. For example, using spot instances and co...
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...