When I was younger, I wanted to be a rock musician. To achieve that I’ve started to play with my friends - on drums. Well, first I started to learn to play drums. The best way to be a good drummer is to practice a lot, but when you have school & others duties it’s hard to find enough time. Someone told me that many drum players are practicing not only on physical drum sets - but also with special silent pads. So they can practice almost everywhere - on train, plane, even in toilet ;)
Mobile developers and generally all programmers have better possibilities. They don’t need to care about sound (drums are loud!) or size of their devices. Your laptop can be taken almost everywhere. Well, almost. And not always you have enough time to practice. Especially when you’re a parent.
I’m a father. That means no time and continuous improvisation. When you’re parent, finding just a few hours per day to learn is impossible. At least if you want to sleep during the night ;) So thanks to my experience with playing drums I decided to find alternative ways to improve my programming skills.
Below you can find a few examples and ideas how you can help yourself with learning Swift if you don’t have enough time. Or, if you want to improve your skills in a train, plane, break between lessons, etc. Enjoy & give me feedback if you know any other ways of learning.
1. Playgrounds, fool!
One of the best elements that did appear some time ago in Xcode is a tool called Playgrounds. This is a really powerful tool that helps test methods, funcs etc. Best way to test your code on the way.
As long as I can, I’m using Playgrounds to test my code instead of creating an Xcode project for every exercise. I suppose this is the best way not only to test, but also to store ideas and features that I’ll later add to my projects. Since iOS 10 you can also use Playgrounds on iPad which is a great possibility to learn and practice on the go.
One of the best features of Apple’s Playgrounds is the speed. Creating and configuring new project on Xcode is time-consuming and bit complicated action. Much easier way is to use Playgrounds, especially to check and test our code. I often use this tool to test samples of code from StackOverflow.
2. Udacity & Udemy
Of course you can find Stanford Swift courses on iTunes U platform. And this can be watched as well as on MacBook, iPad, even on iPhone. But Stanford vids are good for the beginning. Later is good to try some more difficult - like Udacity or Udemy for example.
Services such as Udacity or Udemy contains many of courses and standalone lessons adapted to users’s preferences. So there is a big chance that you’ll find materials tailored to your needs and expectations. Both Udacity and Udemy teachers usually let users watch a couple of episodes for free. Thanks to this feature, there is little chance that you’ll buy a pig in a poke. Some of courses are entirely for free for registered users. And usually teachers let you to download project and exercises.
Unlike Stanford courses, Udemy or Udacity lessons often focus on specific topics. For example, they help with creating a certain type of game or app. Thus, these courses are also a great solution for people that search ways to make specific apps. Of course, there are lots of general and even crappy video tutorials. So the best way is to check opinions about the author and reviews of the courses that we’re interested in.
3. Mobile apps - Mimo, Kodify etc.
In AppStore, it’s easy to find apps that will help you to learn Swift programming. IMHO best tools are such as Mimo, Kodify etc. Why? They contain not only tutorials and knowledge base, but also simple exercises. Spending 5 to 10 minutes every day will easily help anyone improve programming skills.
Most of these apps are payed, but first lessons are free to try. And if you’ll spread the app via Facebook, Twitter etc., you can get even more free courses as a bonus. Later of course to continue learning it’s necessary to buy full access. Usually it’s subscription (monthly, for a year).
Power of apps such as Mimo or Kodify is hidden in approach. Authors of these tools know that learning process needs to be applied to the capabilities of mobile devices. Thuss, you can still gain Swift knowledge by spending as much time as you want simply by using your iPhone or even iPad.. So Mimo offers you similar way of learning to Duolingo and other similar apps. In other words, you get a short introduction and interesting exercises to accomplish.
Right now the only one disadvantage of Mimo is lack of Swift 3 update, but I’m sure that this will be soon fixed. On AppStore you can also find a similar app created by authors of Mimo - Swifty. I don’t recommend downloading this app - this is just previous, outdated version of Mimo.
E-books are a good solution for persons who like to read. Unfortunately, unlike novels or short stories, you can’t get audiobooks to learn Swift ;) The good news is that most of manuals are for free.
The most popular e-book is of course official Apple’s manual (The Swift Programming Language) which everyone can get for free on iBooks Store. It’s in ePub format, so it can be read not only on iPhone but other devices also. Easy way to get basic knowledge about most popular Swift features and tricks.
On iBooks Store one can find a whole range of e-books about Swift programming. For free. Another advantage - many e-books are often updated by the authors. Not only official Apple’s manual, but also titles of other authors. And if you want to learn Objective-C there are plenty of similar books.
Time for a summary.
If you’re just starting your journey with Swift, you can learn programming even if you don’t have Apple device. E-books can be read on any device, there are even Android apps to learn Swift (ex. Learn Programming with Swift). Of course, if you want to practice it is better to have Apple’s devices, but just to get the basics - it’s not even needed. There are no excuses - just start your learning!
Hungry for more news from the mobile dev world? Catch our blog where I will publish more hot stuff about Swift in the form of simple tutorials and advices. Like this one about grouping values by the Core Data attribute.
Cover photo by: Eszter Biró unsplash.com