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 trialAmit Bijlani
Treehouse Guest TeacherSwift - 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
Treehouse TeacherThe 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
39,199 PointsThe following Swift courses were released this morning (Sept 17th) ...
- Swift Basics
- Swift Functions and Optionals
- Build a Simple iPhone App with Swift
- Build a Weather App With Swift
These courses are organized into the iOS Development with Swift track.
Reuben Varzea
23,182 PointsJames 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. :)
Ilja Daderko
8,953 PointsReuben Varzea You can follow iOS development track to do them in order ;) http://teamtreehouse.com/tracks/ios-development-with-swift
Reuben Varzea
23,182 PointsThanks Ilja Daderko. :) Hadn't even seen the full track. Had just added the individual courses to my Home screen.
Mostafa Raafat
5,979 PointsDear 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
Cavin Graves
Courses Plus Student 1,542 PointsMostafa Raafat See my question at the bottom of this thread. :)
27 Answers
Dino Alves
3,936 PointsI am glad I signed up with Team Tree House
Rashaad Prince
7,129 PointsSecond that Dino!
xyrzbest
1,129 Pointsthird!
xyrzbest
1,129 Pointsthird!
Brett Kim
11,576 Pointsfourth!
agreatdaytocode
24,757 Pointsfifth!
Neil Shweky
5,022 Pointssixth!
Mostafa Raafat
5,979 Points7th
rayorke
27,709 PointsThanks 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
42,016 Pointsjust 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.
Kal K
13,332 Points: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?
Ryan Carson
23,287 PointsKalson Kalu, you type "@" and then their name. Links are done like this: "[link text](URL)" without the quotes.
Reuben Varzea
23,182 PointsMy 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
9,027 PointsThanks 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
Treehouse Guest TeacherIf 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.
agreatdaytocode
24,757 PointsI can't wait for that!
Seth McCombs
16,767 PointsLooks great! Thanks so much!
agreatdaytocode
24,757 PointsThe Playground is soooooo much fun! I love Swift already!
agreatdaytocode
24,757 PointsHere is a link to Flappy Bird created with Swift
Sherwyn Cooper
Courses Plus Student 8,910 Pointsalready! your the man make us a tutorial lol
agreatdaytocode
24,757 PointsLOL I did not make it, just found it :)
Marcus Wilhoit
400 PointsAmit, 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
Martin Kaldamukov
Courses Plus Student 8,985 PointsGood idea, Marcus!
Amit Bijlani
Treehouse Guest TeacherFor 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
400 PointsAmit, 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
11,576 PointsToo 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
23,182 PointsI 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. :)
Gabriel Kaplan
9,887 Points+1 for a course :D
Brett Kim
11,576 PointsI 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
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
Treehouse Guest TeacherThe 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
2,592 Pointsis it going to work on ios 7?
Reuben Varzea
23,182 PointsSorry, 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. :)"
Amer Dababneh
2,592 PointsThanks Reuben :)
evanfinch
6,049 PointsThank you Amit! Thank you so much!
cinamonas
589 PointsAfter 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
42,016 Pointsif 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
8,953 PointsOnce 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
23,182 PointsI'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
8,953 PointsReuben 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
Treehouse Guest TeacherWe 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.
agreatdaytocode
24,757 PointsI agree Amit. Can't wait for the new course.
Ilja Daderko
8,953 PointsAaron 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!
agreatdaytocode
24,757 PointsI'll see what I can find on the forums I assume that it would require at least an iCloud account.
faranaway
Courses Plus Student 13,885 PointsRight 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.
Jose Andrade-Sinning
Python Web Development Techdegree Student 12,676 PointsWill the CloudKit compete with Parse.com?
Ilja Daderko
8,953 PointsFor 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.
Jose Andrade-Sinning
Python Web Development Techdegree Student 12,676 PointsCool, thanks for your answer.
Lincoln Islam
2,865 PointsI can see Udemy already published their course on swift why not you?
Larry R
13,955 PointsReally? Don't see anything on their site. Either way Teamtree house will rock it soon enough.
Amit Bijlani
Treehouse Guest TeacherWe 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!
agreatdaytocode
24,757 PointsI don't see it.. Looks like they took it down. : ) #Treehouse > Udemy
Lincoln Islam
2,865 PointsHere 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
23,182 PointsUdemy 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
13,955 PointsAh 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
2,865 PointsGuys 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
11,576 PointsBet that Udemy's courses aren't as good as TTH! >:D
Nate Brooklyn
iOS Development Techdegree Student 1,779 Pointshell yeah! looking forward to the best in the business at the swift track!!! thanks amit for the informative letter
Reuben Varzea
23,182 PointsLooking 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
2,618 Pointsthose 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
13,955 PointsExactly, 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.
Brett Kim
11,576 PointsYeah, its too bad
Trevor Gerzen
2,749 PointsIt 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
Courses Plus Student 1,542 PointsHello, 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
42,016 Pointsthere 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.
agreatdaytocode
24,757 PointsI think it's safe to say that more swift courses will be released in the future.
Cavin Graves
Courses Plus Student 1,542 PointsThanks. Any ETA? Just curious. :)
agreatdaytocode
24,757 PointsNot at the moment. You can always keep an eye out for it here:
Ben Jakuben
Treehouse TeacherYep! Watch the roadmap and Amit Bijlani and Pasan Premaratne will add more course details as the dates firm up. :)
Cavin Graves
Courses Plus Student 1,542 PointsI appreciate it, guys.
Alan Grey
1,856 PointsReally 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!
Geoff Parsons
11,679 PointsWe definitely have plans for more Swift content! Right now Object-Oriented Swift is in the works expected to be out this month.
Alan Grey
1,856 PointsThanks Geoff!
Jose Andrade-Sinning
Python Web Development Techdegree Student 12,676 PointsJose Andrade-Sinning
Python Web Development Techdegree Student 12,676 PointsHello, is there an ETA on when you anticipate to come up with the new SWIFT course?