In this course, we're going to get ready to write some code. We're going to set your MacBook up and we are going to download a software called Xcode, in which we will write our swift codes. And we're going to show you how it feels to write an iPhone or iPad app. So, if you're ready to write your first iPhone app, then let's get started.
This course is intended for anyone looking to learn iOS development in a practical way and who wants to start building their own apps on iOS.
This is a beginner-level course designed for people with no experience or knowledge of iOS development and can be taken by anyone with a MacBook and an internet connection. This course is part of the Complete iOS 15 / iOS 14 Developer learning path and we recommend that you follow that path.
Hi, within this lecture, we're going to see how to create our first project with the Xcode. Now that we are ready to create projects, we're going to see the details of the project creation process, so that we will be ready to write some code. So, when you open your Xcode, whether it's a beta version or whether it's a release version, you will be presented like a page like this. So, this is where you choose whether to create an Xcode project or ready to open an existing project that you have created before. So, in our case, I can see the CryptoCrazy project that I have created before and we're going to see how to build that later in the course. So, most probably you don't see anything like that because you don't have any project right now. But we're going to create our project first and then see how to proceed with it. And by the way, I'm going to explain all of the differences that you can come across if you're using another operating system rather than Big Sur right now. And there are minor differences again, but it would be confusing for beginners.
So, I'm going to explain everything in detail. Don't worry about it. So, you will see some of the options over here and you're definitely going to see, create a new Xcode project, and that's what we want actually. So, if you click on that, it will be presented for you like a page like this. And over here, we will see what to create. For example, in the first line, in the multiplatform or the platform tab, you can see you can create projects for macOS, watchOS, tvOS, or other systems. Of course, we're going to go for the iOS but most of the time in this course. And by the way, the Swift programming language is applicable for all kinds of platforms. But we're going to focus on the most popular one, which is the iOS. And over here, under the iOS, you can see what kind of application you're developing, like an app or a game or an augmented reality app or a sticker pack app or an iMessage app. And we're going to see all of those things later on during the course lectures as well.
But most of the time we're going to go with a regular app. So, choose the app. And over here you will be presented in a page like this where you choose your product name. So, this is basically going to be your project name or an app name. So, it really doesn't matter at this point, since we're not going to release this application on App Store. But make sure you come up with an explanatory name like I'm going to call this My First Project or My First App. So, you can follow along with me and choose the name like this. So, MyFirstApp. And beware that I'm writing this F and A in capital words like this. So, this is an uppercase letter and the reason for that is just to make it more readable. So, you cannot have special characters or like a space over here, you have to write this upper case letters, so it will be a little bit readable. So, MyFirstApp. And it really doesn't matter actually, you can just write the whole thing in lowercase letters but it won't be good. You cannot read that easily later on.
So, over here, most probably you see the team as none. It doesn't matter. I see my account is already embedded in, I'm going to show you how to do that later on when we create our project. So, if you follow along with none, it really doesn't matter. The organization identifier is important. So, what I would suggest right now, you can just write com.your name. So, as you can see, my name is written over here, so Atil Sam, com.your name. Because it will create your bundle identifier which is kind of a big deal. So, bundle identifier is kind of a unique ID that your application will receive so that it can be identified and it can be differentiated from the other applications when you submit your app to the App Store or when you submit your app to any service that needs to be differentiating or identifying your applications. So, they will use this bundle identifier to uniquely identify your application. And as you can see, it's constructed as organizational identifier.yourproductname.
So, whatever you write over here, it will be embedded in your bundle identifier. So, make sure you change your organization identifier to com.your name. And most of the time corporations use com.corporation name here, like com.facebook, com.Google, whatever you can think of. But since you're not a part of organization, maybe you are. By the way, if you're doing this for an organization, you can just choose com.organization. So, in the interface we have two options as you can see, SwiftUI and Storyboard. We're going to go with the Storyboard and I'm going to explain the differences later on. So, what is SwiftUI? When to use SwiftUI? What is Storyboard? But the industry uses mainly Storyboard right now, like in the 80 or 90% of the projects are done with the Storyboard. So, make sure you choose the Storyboard over here rather than SwiftUI or you will be presented with a completely different set of code, which you won't understand. So, make sure you choose the Storyboard.
And by the way, if you're using another operating system rather than Big Sur, you can see something like this. Okay, just don't choose SwiftUI from here, make sure you don't choose SwiftUI if you want to go with the Storyboard. So, that's exactly what we're doing, we're choosing the Storyboard. And the life cycle, life cycle determines the cycle of the view controllers or views that we're going to be using in our application development phase and we need to choose UIKit App Delegate from here. And in the SwiftUI section, we're going to see the differences. So, for language, obviously, we're going to go with Swift. We used to do the iOS development with Objective-C but then came Swift, which is a very good programming language, very easy to learn, very easy to work with. So, we're going to continue with the Swift. And Swift is developed by Apple, and it's open-source, so it's a very good programming language actually. So, if you want to learn about iOS development, Swift is the way to go right now.
So, we don't need core data, we don't need tests, we're going to see how to use core data later on. But right now, don't check any of those things. So, if you're ready, you can just hit 'Next' and it will ask you where to save all of these files. So, your project will be actually a combination of folders and files so you can actually choose where to save it as well. I'm going to place it on the Desktop so that you can easily see it's been created on the desktop right now. If you go over here and double click on that folder, you can see the contents, the files and folders that make up your project like this. So, here we have the Xcode project over here, but also we have the main folders and files, like Swift files where we write the code. And we're going to actually edit these files. We're going to write into those files using the Xcode. So, let me show you what I mean. Let me open the Xcode and let me make this a little bit bigger so that you can see it in a better way. So, we're going to see the overview of Xcode but you can see all the Swift files in the left-hand side.
So, we get to edit them and this is a beauty of using an ID like Xcode as well. So, now we are ready to explore the Xcode overview and see what options we have over here. We're going to do that in the next lecture.
Atil is an instructor at Bogazici University, where he graduated back in 2010. He is also co-founder of Academy Club, which provides training, and Pera Games, which operates in the mobile gaming industry.