Technology

Getting Started with Swift!

By May 24, 2017 No Comments

It is a known fact that Software development is a hot profession in today’s world. Ever-going innovations and researches in technologies have created demanding and huge numbers of jobs in the field of Software development. Each month, about 40 million people visit Stack Overflow (largest online community for programmers) to learn, share, and level up their software development skills. According to Stack Overflow, out of these 40 million, 16.8 million people are professional developers and university-level students.

As per annual Stack Overflow’s Developer Survey 2017, which was taken by over 64000 developers worldwide, Mobile Application developers share 23% of full-time software development job roles.

Picture Reference: Stack Overflow

Out of this 23 % mobile application software development job roles, 57.6% are identified as iOS developers who develop applications for iOS, macOS, tvOS, and watchOS, as shown below.

Picture Reference: Stack Overflow

The primary reason behind this demand for iOS developers is its OS competitive consumers’ market share in almost every country. For example, in the largest smartphone market of United States of America, iOS sales increased from 37.1% to 43.5% which resulted in the decrease of other platforms over the course of 1 year. As shown below, the same trend was observed in Australia, United Kingdom, France, Italy, Spain, and Japan.

Picture Reference: 9to5mac

These factors led to the demand for Objective-C and Swift (programming languages used for iOS development) among developers, putting them consistently on the charts of TIOBE, an index which publishes a list of popular programming languages every month.

(Read more about TIOBE here: https://www.tiobe.com/tiobe-index/ )

Arguably, these statistics are evident enough to predict, that demand for iOS engineers will increase in the coming years too. But the real tricky and debatable question would be, either to choose Objective-C (Mature and Wanted) or Swift (Easy and fresh). In my opinion, it depends on numerous factors for that reason it is recommended to use iOS language picker to decide a language for your next iOS app.

Picture Reference: Pinterest

The key thing to note for choosing the language is that Swift is a new language and therefore very volatile. As a result, there will be a lot of updates which can break your code, and also free resources will be limited. Therefore, major companies have not switched over to Swift yet.

But why learn Swift? Well, Apple is pushing Swift to be the main language and possibly in next couple of years, Apple would deprecate Objective-C which would enhance the demand for engineers equipped with Swift in their toolbox. Hence, it is recommended to jump into Swift which applies for both old Objective-C skilled developers and for those, who wants to start with iOS development.

For this purpose, I have created a recommended study guide for learning Swift. Add this cool skillset to your profile too. Well, to begin with, you need an Apple machine having latest MacOS and Xcode. After which, you can rely on the following shortlisted resources for a head start.

1. Apple Guides:
Here you will find everything you need to know about Swift: https://developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Programming_Language/index.html
Here you will find a practical case, where every lesson walks you through a step-by-step process of creating a simple, real-world iOS app.
https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html#//apple_ref/doc/uid/TP40015214-CH2-SW1
For comprehensive Xcode tutorial, check http://help.apple.com/xcode/mac/8.0/#/ A lot of reading, but it explains everything!

2. Stanford Lectures:
https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120 Very popular and good!

3. Raywenderlich.com Tutorials: 
Check Swift section, they have various free guides on basic stuff.

4. Udacity:
You can find various free courses on Udacity as well.
https://www.udacity.com/course/swift-for-beginners–ud1022
https://www.udacity.com/course/swift-for-developers–ud1025
https://www.udacity.com/course/learn-swift-programming-syntax–ud902

5. Swift video course from Artsy:
Here you can find a video course for beginners.
http://goo.gl/MegYAU
http://goo.gl/WJLDbp
http://goo.gl/63m5nZ

6. Building iOS Interfaces:
For building iOS interfaces you can visit the following.
Part 1: General Overview & UIKit https://goo.gl/MCqiox
Part 2: Views https://goo.gl/zKxsqd
Part 3: A Custom Button https://goo.gl/llbkCC
Part 4: Subclassing Views https://goo.gl/eF0cNt

7. Swift Official Book:
Also read: http://carlosicaza.com/swiftbooks/SwiftLanguage.pdf

As said by one of the greatest writers in history Anton Chekhov,

“Knowledge is of no value unless you put it into practice.”

So, don’t forget to push yourself out of your comfort zone in order to practice Swift and master iOS development. Happy Swifting!

-By Humayun Sohail, Senior iOS Developer @onebytellc