Announcing Our New Book: Beginning iOS 8 Programming with Swift

I’m thrilled to share this great news with you. Our second AppCoda book – Beginning iOS 8 Programming with Swift is now live and ready for purchases!

During the WWDC 2014, Apple surprised every iOS developer by launching a new programming language called Swift. I didn’t expect a new programming language to come out this year. I was expecting to see new APIs for iOS 8 along with a newer version of Xcode. This really surprised me and my friends too. I remember what one of my friends said to me. He told me, “You will have to rewrite your whole book again!”

Seriously. That’s a lot of work. So here comes the new book.

The first AppCoda book was basically an assortment of tutorials, which were published in this blog. It covered everything from the fundamental of Objective-C programming to more advance ones, where each programming technique was accompanied by a fully working app. I am really grateful that the practical approach has gained very positive feedback.

Beginning iOS 8 Programming with Swift

The real question was whether I should just rewrite the whole book for Swift and iOS 8?

I have been programming in Swift since its beta release. Swift is more approachable and newbies will find it easier to learn. I asked myself how I could take advantage of it and make the book much better than before, so that more aspiring developers could learn iOS programming.

I know many readers have an app idea but don’t know where to begin. Hence, this new book is written with this in mind. It covers the whole aspect of Swift programming and you will learn how to build a real app from scratch. This book is written for beginners without any prior programming experience and those who want to learn Swift programming. Whether you are a programmer who wants to learn Swift or a designer who wants to turn your design into an iOS app or an entrepreneur who wants to learn to code, this book is written for you.

You’ll first learn the basics of Swift, then prototype an app, and later add some features to it in each chapter. After going through the whole book, you’ll have a real app. During the process, you will learn how to exhibit data in table view, customize the look & feel of a cell, create animations, work on maps, save data in local database, CloudKit integration, use TestFlight to arrange beta test, etc.

This new book features a lot of hands-on exercises and projects. You will get the opportunities to write code, fix bugs and test your app. Although it involves a lot of work, it will be a rewarding experience. I believe it will allow you to master Swift and iOS 8 programming, most importantly, release an app on the App Store.

To celebrate the launch, we’re running a sale until Oct 13 (U.S. time). You can save over 20% off of the regular price if you purchase now.

With the release of the second AppCoda book, I’d like to take chance to share some learning tips with you. I have been asked by some of my blog readers about the best way to start learning iOS programming. These are some of the learning tips and I hope these tips will be useful to you, especially you just start learning to code.

1. As always, get your hands dirty. I emphasized this technique at the very beginning when I started this blog and wrote my first book. You can’t learn programming just by reading. You need to take action and write some code. Fire up Xcode, play around with Swift and follow the first few chapters to build your first app. Try your best to understand how the Hello World app works before moving on to the advanced topics. If you are able to manage the basics, it will be much easier for you to understand the rest of the materials.

2. Bugs are your friends when learning programming. From time to time, you’ll hit bugs or errors. You probably want to email me and say the sample app doesn’t work. How can I get the bug fixed? Questions are always welcome and I love to help you learn programming. However, I encourage you to attempt to figure out the solutions by yourself first. You may go over the code again and again. Or search the web ( in particular) for solutions. Just try your best to solve the problem before asking. Like every programmer, I hate bugs especially when facing a project deadline. However it’s always the bugs that help me improve my programming skills.

If you do not have any programming experience, one useful hint for you is that Swift (or Objective-C) is a case-sensitive language. That means a variable named ‘message’ is different from that named ‘Message’. This is one of the most common errors and frequently asked questions.

3. “The best way to learn is to teach” is an old saying. It still works in the modern world, however. You don’t need to be an expert to teach. I’m not talking about giving a lecture in a university or teaching a bunch of students in a formal class. Teaching does not always happen that way. It can be as simple as sharing your knowledge with a colleague or a classmate sitting next to you. When you learn something new, try to explain the materials to someone else. For example, after building the HelloWorld app, teach your close friend how it works and how he/she can create an app too. When you become more knowledgeable with the programming language and materials, you may arrange an interest group and share what you’ve learned to a larger group of people.

This is one of the most effective ways of learning as I learn so much while publishing tutorials on, as well as developing my first book. Sometimes you think you know the materials well. But once you need to explain the concept to someone else and answer questions, you may find that you didn’t understand the material thoroughly. And this makes you study the materials even harder. Give this method a shot while you learn iOS programming.

4. It takes time to become a great programmer. Be patient. The materials in the book or on this site are not magical. You will learn the basics of iOS programming and how to build your own apps. That said, it takes time and lots of practices to become a competent programmer. Don’t set your expectations too high for your first app. Just create something simple and fun.

5. I know money matters. Some of the people begin learning app development just because of money. There is nothing wrong with that. You may want to build your app business to earn some side income and eventually turn it into a full time business. That’s completely understandable. Who doesn’t want to live a rich life? However, if money is your primary reason for building apps, you’ll be easily discouraged when you hit bugs or errors. And then you may give up. Programming is not easy and it is challenging. I find people who successfully master the language are those who have a strong desire to build apps and are enthusiastic to learn programming. They have an idea in their mind and want to turn it into a real app. Making money is not the number one concern. They know the app can solve their own problems and will be beneficial to others. With such a powerful purpose in mind, they understand that bugs and problems are a challenge to face. The only way to move on is to figure out the solutions. So think again why you want to learn programming.

I hope you will find the tips useful and like our new book. Lastly, thanks for your continued support. It’s all your great feedbacks and wonderful comments that make this site and this new book possible.

Building Your First Web App in Swift Using Vapor
A Beginner’s Guide to Optionals in Swift
Mastering SwiftUI for iOS 16 and Xcode 14 is Now Released