Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS

Amit Bijlani
STAFF
Amit Bijlani
Treehouse Guest Teacher

Swift - FAQ

Today Apple announced the release of a brand new language called Swift. This is a paradigm shift and one that was desperately needed by the community. Objective-C is a relic of the past which was showing its age. Apple has been trying to update the language but it had a long way to go. With Swift they made a clean break. Now we get a modern language that has features found in languages like Ruby, Python, Go, etc.

Here are some of the highlights of the language according to Apple:

  • Closures
  • Tuples and multiple return values
  • Generics
  • Enums and Structs
  • Optional chaining

These are some advanced features for a language that looks deceptively easy to learn. Swift is not just new syntax but it's a completely new language from the ground up.

We've received several emails and tweets with questions about Swift. This post will try to address most of those questions. Feel free to ask any other questions that I may have missed.

Q. When will you have a course on Swift?

A. Apple has a Non-Disclosure Agreement (NDA) on all new technologies they announce at WWDC, which means nobody can publicly talk about them until the official release of iOS in the fall. We could have a course swiftly, however if it falls under the NDA then we can't release it until the public release of iOS.

Apple has released a book on Swift and our guess is that the language might be exempt from the NDA but not the tools. We cannot teach the language without being able to use the tool (Xcode). We are trying to get the official word from Apple.

Q. I just started learning Objective-C, should I just learn Swift instead?

A. As mentioned above, Apple has released a comprehensive book on the language so by all means start learning Swift. After glancing through the book I believe that on some levels Swift may be harder to learn because of the advanced features mentioned above. My suggestion would be to continue learning Objective-C, although it may look difficult syntactically but conceptually it's a much simpler language and great for a beginner. Once you get the hang of Objective-C then switching over to Swift will be a lot easier because the two languages are quite similar.

Q. Will Swift take over Objective-C?

A. For now, Apple is supporting both the languages so Objective-C is not going anywhere. There are 1.2 million apps in the App Store and I'm pretty sure majority of them are written in Objective-C. Rest assured, if you are looking for a job then most probably your future employer has an existing app that is written in Objective-C which you will have to learn inevitably.

Eventually, developers will start switching over to Swift and you will see a wider adoption of the language but do not expect existing projects to completely overhaul their apps to use the new language. Swift is here to stay and Objective-C will ride into the sunset but this whole process will take a while.

Ben Jakuben
Ben Jakuben
Treehouse Teacher

The Apple event is on 9/9, and the NDA that prevents organizations like Treehouse from making tutorials with the latest version of Xcode should be lifted within a week or so after that... :)

James Barnett
James Barnett
39,199 Points

The following Swift courses were released this morning (Sept 17th) ...

These courses are organized into the iOS Development with Swift track.

Reuben Varzea
Reuben Varzea
23,182 Points

James Barnett Amit Bijlani - Is that the order in which we should consider doing the courses?

Edit: Nevermind. Just got the "teacher email" from Amit after completing "Swift Basics" saying the next course would be "Swift Functions and Optionals". Patience is a virtue I have yet to attain. :)

Reuben Varzea
Reuben Varzea
23,182 Points

Thanks Ilja Daderko. :) Hadn't even seen the full track. Had just added the individual courses to my Home screen.

Dear Amit Bijlani ,

I just finished the Swift Track. I just feel its not as strong as the Objective C track. Yes I learned to do my first application that connects to a third party API. But after all I don't know how to Store data nor use iPhone hardware like Accelerometer or make an animation for a group of sprite images. I founded that available in the Objective C course. But converting from Swift to Objective C to understand the concepts is very confusing. Is there is near coming courses in Swift that will fill this gap ?

Thank you

27 Answers

Dino Alves
Dino Alves
3,936 Points

I am glad I signed up with Team Tree House

Second that Dino!

third!

third!

fifth!

7th

Thanks Amit Bijlani for this thorough FAQ.

For those of you interested in learning Swift, welcome to the early days of any new language! There will be little documentation and tutorials outside of what is officially released from Apple - up until they give their okay for others to release material.

I have a suspicion that this may happen sooner, as the demand for training from developers will be extremely high, and it would be in Apple's best interest to continue the momentum.

The nice thing is that many of Treehouse's tutorials touch on the principles of programming, which can be applied to almost any language. From the initial 10,000 foot view, it's clear that understanding Objective-C will benefit you still when it comes to learning Swift.

I'm looking forward to putting Swift through its paces!

Stone Preston
Stone Preston
42,016 Points

just in case anyone is wondering how to download the Xcode 6 beta. you must first agree to the newly updated terms. then at the top of the ios dev center page there are two tabs that switch from iOS 7 SDK and iOS 8 Beta. the Xcode 6 download is available under the iOS 8 beta downloads section.

:3 hey I know this is a noob question, but how do you add links to comments or tag somebody in treehouse to ask them a question?

Kalson Kalu, you type "@" and then their name. Links are done like this: "[link text](URL)" without the quotes.

Reuben Varzea
Reuben Varzea
23,182 Points

My developer license lapsed last month (been doing more Ruby learning so thought I'd wait to renew). Will wait until I see you all release your course. I've already gone through the book a little, but guidance is always preferable. :)

Nick Fuller
Nick Fuller
9,027 Points

Thanks Amit! I have the Swift book in and and I'm about to download Xcode 6!

Do you have any pointers for getting started at least? I'm having trouble finding any docs specific to Xcode 6. Just stuff geared towards the syntax of the language itself.

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

If you want to play around with Swift then the best way to do it using the Playground feature. Open up Xcode 6 then from the menu select File -> New -> Select Source on the left -> Select Playground on the right. The Playground is a great way to practice the language. We will posting code of the Crystal Ball app using Swift soon.

I can't wait for that!

Seth McCombs
Seth McCombs
16,767 Points

Looks great! Thanks so much!

The Playground is soooooo much fun! I love Swift already!

Here is a link to Flappy Bird created with Swift

https://github.com/fullstackio/FlappySwift

already! your the man make us a tutorial lol

LOL I did not make it, just found it :)

Marcus Wilhoit
Marcus Wilhoit
400 Points

Amit, while we are waiting for the Treehouse Swift class can you turn these blog posts into short videos? I am more of a visual learner and what I do is just watch the videos over and over! Sometimes from my iPhone! :-) A video is worth 1000 pictures!

http://blog.teamtreehouse.com/understanding-optionals-swift

http://blog.teamtreehouse.com/an-absolute-beginners-guide-to-swift

http://blog.teamtreehouse.com/should-i-learn-swift

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

For me to teach a Swift course effectively I would have to teach it using the latest version of Xcode and the playground feature both of which are under the Apple NDA until the public release of iOS. We are already working on a completely new Swift based track which we intend to release once the NDA is lifted.

That said would you be interested in a Swift course that explained the code with me actually typing it? You could follow along by typing it yourself in the playground but we couldn't show you the playground in the video. Or as you mentioned you could simply watch the video while on the go.

Marcus Wilhoit
Marcus Wilhoit
400 Points

Amit, yes absolutely I would be interested in a preliminary video course that does not violate the NDA. If you could do a preliminary video course that covers the Swift's modern programming language concepts like the ones listed below:

Closures unified with function pointers, Tuples and multiple return values, Generics, Fast and concise iteration over a range or collection, Structs that support methods, extensions, protocols, and Functional programming patterns, e.g.: map and filter

The above modern language features are the ones that programmers brag about but they tend to be misunderstood and often not used by many programmers.

And also if you could cover the Swift "safe programming" features where the language guards against "null values" and also buffer overflows would be fascinating.

A lot of us can't wait until iOS 8 ships to learn the language and we don't want to be left behind. :-)

Brett Kim
Brett Kim
11,576 Points

Too bad the NDA is so limiting... but I'd still like to see the playground in action. Maybe Amit Bijlani could teach the basics in Sublime Text 2 but release the advanced projects later on when Apple allows it.

Reuben Varzea
Reuben Varzea
23,182 Points

I would assume that since its using the same compiler then yes, apps written in Swift should function on older devices. BUT... I could be wrong. :)

Brett Kim
Brett Kim
11,576 Points

I was kind of hoping that I could master Swift because I jumped onto the Objective-C train a little too late. I don't have a Developer license yet, so I can't use .playground. Amit Bijlani , do you think it's worth it to get a license now or should I just wait until fall?

Eeshan Agarwal
Eeshan Agarwal
2,952 Points

@Amit: Hi Amit, I recently started the iOS course on Treehouse and had a question regarding Swift. In the course on Treehouse we are taught about the MVC model but the Swift book doesn't discuss anything related to it. I'm confused as to how the new language will be implemented and how developers will learn how to use the new language in conjunction with the existing tools. Also things like the storyboard in XCode and how we can program our view aren't discussed at all in the Swift book.. Could you give your opinion regarding the same?

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

The book is focused primarily on documenting the language and its features. Apple assumes you know how to write apps already so they leave the rest up to you. I guess this is where we come in, to teach you how to build apps using Swift. As I mentioned in my FAQ. Learning Objective-C is not going to be obsolete overnight. I would still encourage you to go through the current iOS track because once you understand the language and APIs it will be easier for you to make the switch to Swift.

Amer Dababneh
Amer Dababneh
2,592 Points

is it going to work on ios 7?

Reuben Varzea
Reuben Varzea
23,182 Points

Sorry, Amer Dababneh , should have added the comment to your question. :)

"I would assume that since its using the same compiler then yes, apps written in Swift should function on older devices. BUT... I could be wrong. :)"

evanfinch
evanfinch
6,049 Points

Thank you Amit! Thank you so much!

After the announcement of Swift I decided to finally give iOS development a go. I can learn the language myself, but I'd like some guidance on patterns and frameworks. That's why I'll be going through iOS Track. I believe that currently there is no way to skip Obj-C course? Or maybe I shouldn't as it doesn't purely focus on the language aspect of iOS development?

Stone Preston
Stone Preston
42,016 Points

if you are doing the iOS track you want to do the obj c course first. I would not skip it. The iOS courses after that assume you have a pretty good grasp of the objective C language basics that are covered in the first course. Its a very short course and it will be well worth the time.

Ilja Daderko
Ilja Daderko
8,953 Points

Once you do release a course, lets say after iOS 8 launch, will it be a "fresh start" type of course, so how to use swift for iOS development beginners guide, or will you build upon knowledge demonstrated in Objective-C based tutorials?

Reuben Varzea
Reuben Varzea
23,182 Points

I'm hopeful that they'll do a "beginner" course, or at the very least an intro to Swift just to ensure that people just starting out get an introduction to the syntax. In reading through the Swift iBook, it does seem that there are enough subtle differences that warrant introduction, especially for those still in the early days of learning.

Ilja Daderko
Ilja Daderko
8,953 Points

Reuben Varzea yes, I have been reading through the manual as well, swift is really interesting and this change made me interested in iOS development, I really hope they will cover iOS development practices from the very beginning, as this is not covered in iBook

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

We will be doing a course and track from the ground up so you get to learn iOS development from a completely fresh perspective with no previous knowledge. I think a lot of people are going to be interested in learning iOS development now since the syntax is a little easier to understand.

I agree Amit. Can't wait for the new course.

Ilja Daderko
Ilja Daderko
8,953 Points

Aaron Ackerman init! also, does anyone know if CloudKit requires a developer account? This seems like a great tool to learn about in addition to all awesome things!

I'll see what I can find on the forums I assume that it would require at least an iCloud account.

faranaway
faranaway
Courses Plus Student 13,885 Points

Right now to my knowledge Cloudkit is limited to a paid developer account. I recently renewed my account and saw i able to access the dashboard for it.

Ilja Daderko
Ilja Daderko
8,953 Points

For sure! But probably only in iOS dev area, remember parse is a great tool working for other platforms like android and win phone, as well as they offer some additional features that CloudKit doesn't, I guess we'll have to see, but I'd love to learn more about CloudKit.

Lincoln Islam
Lincoln Islam
2,865 Points

I can see Udemy already published their course on swift why not you?

Larry R
Larry R
13,955 Points

Really? Don't see anything on their site. Either way Teamtree house will rock it soon enough.

Amit Bijlani
Amit Bijlani
Treehouse Guest Teacher

We saw that too and they are clearly violating Apple's NDA by showing the latest version of Xcode. They might not care about their relationship with Apple but we most certainly do and want to avoid any legal hassles. My recent blog post "An Absolute Beginners Guide to Swift" covers everything that course does and it is free!

I don't see it.. Looks like they took it down. : ) #Treehouse > Udemy

Lincoln Islam
Lincoln Islam
2,865 Points

Here is the link i still can see. https://www.udemy.com/swift-learn-apples-new-programming-language-by-examples/

but i don't think Udemy course will be better than TTH. I love TTH tutorials.

Reuben Varzea
Reuben Varzea
23,182 Points

Udemy is a cool platform, but it doesn't have the unity or quality level of Treehouse IMO. I feel like I could become an instructor on Udemy... "Making bagel pizzas when you need a break from learning ... LIKE A BOSS!"

Larry R
Larry R
13,955 Points

Ah yes, I didn't search for it later and found it. Your right Lincoln, TTH will rock it more effectively and cheaper. Udemy's pay for each course and its price tags are not a good business model when most things are subscription based.

Lincoln Islam
Lincoln Islam
2,865 Points

Guys i would suggest to follow Amits Great blog post about SWIFT http://blog.teamtreehouse.com/an-absolute-beginners-guide-to-swift I just love it.

Brett Kim
Brett Kim
11,576 Points

Bet that Udemy's courses aren't as good as TTH! >:D

hell yeah! looking forward to the best in the business at the swift track!!! thanks amit for the informative letter

Reuben Varzea
Reuben Varzea
23,182 Points

Looking forward to it myself. I've been through the Objective-C courses, and enjoyed them, but I'm excited at the possibilities that Swift makes available!

Per Johannessen
Per Johannessen
2,618 Points

those who really want to learn swift will already be on the forefront by the time treehouse releases a course since there is plenty of resources out there already

Larry R
Larry R
13,955 Points

Exactly, but its too bad third party businesses can't teach it to iOS developers that have the access to the necessary beta tools/OS. To me that doesn't make sense having such stipulations in the NDA governing that. One of the main selling points during WWDC14 was to entice and attract more developers, waiting until fall per NDA doesn't progress us noobs any faster. Oh well, there are a lot of resources out there as Johannessen mentioned.

Trevor Gerzen
Trevor Gerzen
2,749 Points

It would be cool if Apple worked out something where third parties could have a separate login or auth for registered developers and from there you could do “beta” courses from Apple's pre-release stuff. Amit Bijlani

Cavin Graves
PLUS
Cavin Graves
Courses Plus Student 1,542 Points

Hello, I started Swift with practically no programming experience, and am now about to start building the basic iPhone app. Yesterday, I could've sworn I saw a lot more than four units for Swift and today I don't see them. This, I could just be imagining. My question is really: is this the whole track or will more be released for this track later in the game? If so, any ETA yet? :) Thank you!

Stone Preston
Stone Preston
42,016 Points

there are only 4 swift courses available right now. Swift Basics, Swift Functions and optionals, build a simple iphone app with swift, and the weather app course.

I think it's safe to say that more swift courses will be released in the future.

Not at the moment. You can always keep an eye out for it here:

http://teamtreehouse.com/roadmap

Ben Jakuben
Ben Jakuben
Treehouse Teacher

Yep! Watch the roadmap and Amit Bijlani and Pasan Premaratne will add more course details as the dates firm up. :)

Alan Grey
Alan Grey
1,856 Points

Really enjoying the current Swift track. Are there any plans to extend it in the near future? I would be interested to learn how to build more apps that make have greater functionality.

Thanks!

We definitely have plans for more Swift content! Right now Object-Oriented Swift is in the works expected to be out this month.

Alan Grey
Alan Grey
1,856 Points

Thanks Geoff!