Preface
In this book, we will build a Restaurant Reservation app called Let's Eat. We will start the book off by exploring Xcode, our programming environment, which is also known as Interface Development Environment (IDE). Next, you will start learning the foundations of Swift, the programming language used in iOS apps. Once we are comfortable with the basics of Swift, we will dig deeper to build a more solid foundation.
After we have a solid foundation of using Swift, we will start creating the visual aspects of our Let's Eat app. During this process, we will work with storyboards and connect our apps structure together using segues. With our UI complete, we will go over the different ways that we can display data. To display our data in a grid, we will use Collection Views, and to display our data in a list, we will use Table Views.
We will also look at how to add basic and custom annotations on to a map. Finally, it's time to get real data; we will look at what an Application Programming Interface (API) is and how we can get real restaurant data into our Collection Views, Table Views, and Map.
We now have a complete app, but what about adding some bells and whistles? The first place we can add a feature will be on the restaurant detail page where we can add restaurant reviews. Here, users will be able to take or choose a picture and apply a filter on to their picture. They will also be able to give the restaurant a rating as well as a review. When they are done, we will save this data using Core Data.
Since we built our app to work on both iPhone and iPad, we should add the ability to make our app support iPad Multitasking. Doing this will allow our app to be open alongside another app at the same time.
If we want to be able to send our reservation to a friend, we can create a custom UI for iMessages, that will send them the details for the reservation along with the app it came from. The one thing missing from our app is the ability to notify the user with a custom notification to alert when they have an upcoming reservation.
Finally, let's create some quick access for our app using 3D touch, where by tapping our app icon, the user can quickly jump to their reservations. Now that we have added some bells and whistles, let's get this app to our friends using TestFlight, and finally get it into the App Store.