Get up to 80 % extra points for free! More info:

Lesson 1 - Developing iOS apps in Swift

Welcome to the introductory tutorial focusing on the basics of app programming for Apple mobile devices. That means, of course, iPhone, but also iPad, because you can develop for both devices at the same time. In this introductory lesson, we're going to talk about reasons to choose this platform, what we're going to need, and the Xcode editor.

Why iOS?

Why should we choose iOS? Because it's an important mobile platform and Apple sells loads of new devices every quarter. When developing, you don't have to deal with dozens of display sizes, different aspect ratios, or user system versions, which you would run into when developing for Android. iOS users are used to paying for high quality applications, even a few dollars. However, you should choose iOS if the platform is close to you and you want to start programming cool applications for your mobile assistant.

Why Swift?

If you happen to be wondering why Swift and not Objective-C (in which iOS applications were written in the past), this short paragraph is just for you. It's simple. Swift is the future of iOS development, it's a modern, object-oriented language that offers cool features. You won't be screaming in agony because of a missing semicolon, and if you write it to the end of the line out of habit, nothing bad happens. Swift, unlike Objective-C, isn't 25 years old, and provides programmers with automatic memory management to avoid a huge amount of errors that are otherwise difficult to find. In addition, it includes null-safety and other advanced mechanisms for you to make even less mistakes in your code. If these reasons aren't enough, look for some Objective-C code samples, which should surely convince you why you want to use Swift :)

Needed tools

  • iOS device
  • Xcode 9 (you can find it in AppStore)
  • OOP level Swift knowledge
  • desire to learn something new

You don't need any real iOS physical device. Xcode provides us with simulators for every relevant device. Of course, it's the best to test the app on a real device, especially if you don't have a powerful Mac, not using simulators will help with the performance. Besides, you can't do some things in the simulator which can be problematic. If you read the article up until here, I guess you already own an iOS device.

We explained why and what to develop with. Let's quickly get to know the environment in this introductory lesson and then dive straight into programming.

Hello Xcode

Let's do this. Meet Xcode. First, have a look at the picture below where I highlighted the important parts of the program with different colors. Check it out and then read the description below.

Xcode for programming iOS applications in Swift
  • Brown - Here you'll run the app, close the app, choose on which device should the app run (your iPhone / simulator). If you have more complex project, you can also choose what to run here.
  • Blue- Switching editor and customizing UI. The second button of the first three switches to Assistant editor. That's useful in the case you need the UI and the code to be opened at the same time. We'll use this when connecting the UI with the code. We'll learn everything in further lessons. The next three buttons simply hide parts of Xcode to get more space, which you'll surely use on a laptop.
  • Yellow - The "inspector" area. These are your helpers when building the UI. Some important inspectors are Identity, Attributes, and Size. We'll get to them later, so just a quick description. You'll primarily assign your classes to the UI components in Identity. Attributes is probably most often used with the Label component. Here you can set its height, the text, color and so on. Size deals with sizes.
  • Red - Libraries, especially the library of UI components but also e.g. of predefined code or file templates. Here you can find all UI elements you need. Use searching to find them easily. And a hint: If you needed a normal View component, write "uiview" in the search bar, because only "view" would first show the specific variants such as TableView, etc. You can try it in next lessons, when we'll get to it.
  • Green - The final part of our Xcode tour. Here you can find your project files. You can organize them as you wish (except for Info.plist which has to be in the root directory).

What will come in the next lessons?

The course is designed to teach you all the necessary basics of the iOS development. We'll look at how the UI works, how to link the components to the code, how the navigation to different pages of the application works. We'll look at TableView in detail, one of the most important UI components. We'll also look at how to make work easier by using packages (libraries) to help us with colors, JSON processing, HTTP request, etc. You can also look forward to different ways of saving data.

Let us know what you think

I certainly don't consider myself a flawless master in writing tutorials, if there's a problem somewhere or some part isn't quite clearly explained, I'll be pleased if you let me know, for example, in the comments section below or via messages, so I can improve the materials. Thanks!

In the next lesson, Building the UI and introduction to basic components, we'll talk about creating the UI and describe basic components.


All articles in this section
Developing iOS Applications in Swift
Skip article
(not recommended)
Building the UI and introduction to basic components
Article has been written for you by Filip Němeček
User rating:
No one has rated this quite yet, be the first one!