How to teach yourself iOS app development with Swift properly
2015, March 19

If you already tried teaching yourself iOS app development in the past but didn't quite make it because you couldn't get yourself into the intricacies of Objective-C, there's still hope. This hope comes in the form of Apple brand new programming language: Swift.

Much like my previous How To Teach Yourself articles, here is one comprehensive path for learning the Swift language and the iOS 8 platform. Interested in building great iPhone, iPad and maybe Apple Watch apps? Then read on...

What is Swift?

Swift is a new programming language made by Apple. It is designed for OS X, iOS and Apple Watch app development. First announced at WWDC 2014 on June 2, Swift was released officially on September 9, 2014. Right now, it is still a pretty new language but I don't think I'm mistaken if I say that in the future, this will become the de facto language for programming the Apple ecosystem and that it will ultimately replace Objective-C, an old and venerable language which first appeared in 1983, over 30 years ago.

Right now, there are many online courses, books and tutorials available for learning app development with Swift but there's no one stop shop to learn everything you'll need to become an app developer (except if you are already an experienced object-oriented programmer, then stop reading and go watch the iTunes U Stanford course on iOS 8. Everything you'll need is in there).

Where to go for a comprehensive learning?

So, here is the path that I would currently recommend to aspiring Swift developers eager to teach themselves:

Programming & Swift basics

First, and especially if you are new to programming or need a refresher, you'll want to learn some programming theory along with the basics of the Swift language. Team Treehouse has an excellent primer video course on the Swift language. Go register on the Team Treehouse website. If you use this referral link, you'll get a 50% discount on your first month. I don't think you'll need more than a month for following these courses: Swift Basics, Swift Functions and Optionals, Swift Enums and Structs and Object-Oriented Swift. These courses are taught by Amit Bijlani, an experienced mobile developer. Once you are done with these, it is time to move away from Treehouse. Of course, you can also follow the next Treehouse batch of courses on iOS development but I don't recommend them: they teach by mimic rather than giving an in-depth explanation of the concepts.

iOS 8 development basics: the design

When you code for an iOS device, you have to place an extra level of attention on how you design your app. A clumsy user experience or bad interface design are a common cause for Apple to reject your app from being published on the App Store. This is Apple, after all. The Overlords of design. I strongly recommend you learn this with Simon Allardice through his course at Lynda.com titled iOS App Development with Swift Essential Training. There, you will learn the intricacies of laying out your UI and connect it to your code, using Apple Xcode 6.

iOS 8 development basics: the SDK

Now that you should feel comfortable with building a UI for your app and use Table Views, Tab Bars and more, it is time to learn how to make your app do fun things! Beginning iPhone Development with Swift: Exploring the iOS SDK by David Mark, Jack Nutting & Kim Topley is your best bet. It will not only build on your UI crafting foundation, it will also teach you things like storing data on an iOS device, work with iCloud, Core Graphics, gestures, the camera, the accelerometer, the GPS and much more.

At this point, you should now be able to write cool apps, ready to be deployed on the App Store.

Going further

The web is loaded with resources on Swift and iOS development. Make sure you keep an eye out for new tutorials at Ray Wenderlich. Many of them are of great quality. Subscribe to Dave Verwer's iOS Dev Weekly newsletter as well. The information Dave presents is a goldmine.

Do you know any other excellent resource to learn iOS 8 development with Swift? Don't forget to Let me know. Happy learning!

back to top | share this on Twitter:

Want to learn web development? I'll teach you
2015, March 13

Since I started writing articles on my blog about learning how to code a few years ago and also through the RailsBricks site, I receive quite a lot of emails from people having questions about how to best learn web development and how to start a career as a coder. From time to time, I also get asked if I could mentor or coach aspiring developers. After pondering the idea for a while (and also working on the HowToCode.io project), I decided to offer individual one-on-one training on a permanent basis. As I love talking about coding and many of you are eager to learn, this seems like a good fit.

What to expect?

Learning a new trade such as web development can be a daunting endeavour. Many pick up a book or an online video course boasting that this is the resource that will turn you into a developer. Unfortunately, there is a lot more to that if you really want to be a full time web developer.

I'm not saying this will be easy but by learning with me, you'll progress much faster and will have a dedicated trainer able to answer all your questions while being guided on a comprehensive path containing all the topics you need to master before applying for a web developer position. I can even help you build your portfolio, edit your cv and make your profile stand out as well as coach you for a job interview.

Is it for anyone?

No. Before I start training you, we'll need to have an in depth discussion about who you are and what your goals are. I am not interested in showing you how to cobble bits and pieces of code together, I want to thoroughly train you as a professional web developer.

Limited availability, apply now

I don't intend to do this as a full time job. I love to code and I need to code. Thus, I have a limited amount of slots available for training developers. Apply now to secure a spot and maybe, soon, we'll spend some quality time together!

back to top | share this on Twitter:


Swift syntax cheatsheet
2015, February 24

If you are currently learning how to build iOS and Mac apps with the Swift language, you may be interested in a syntax cheatsheet I made as a collection of Xcode playgrounds.

I will continue to add new playgrounds in the coming days in order to demonstrate some Swift techniques.

Get it on Github

All you have to do to get the playgrounds is to clone the Git repository on Github at github.com/nicoschuele/swift-cheatsheet. Open a terminal and simply copy this line:

    git clone https://github.com/nicoschuele/swift-cheatsheet

Add your own tricks

If you want to add your own tips and tricks, just create a new playground, add it to your local repository and submit a pull request on Github.

back to top | share this on Twitter: