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 trialPasan Premaratne
Treehouse TeacherSwift 2.0 and the updates to iOS Content
iOS students at Treehouse!
The day has finally arrived , we're starting to roll out Swift 2.0 content. Here's the plan:
<br>
Link to Swift 2.0 track.
<br> Swift 2.0 introduces new language features, so we're creating an entirely new Swift 2.0 track! We've also listened to your feedback on our current Swift content and are adding new courses and removing some stuff. Thanks for your comments!
Here is the current list of courses we've planned for the new track (in order). In addition, I've listed what's changed from the original track so you can decide which courses you'd like to take (if you're repeating stuff): <br>
- Swift Basics
- Swift Collections and Control Flow: The old Swift Basics course is split into two so we can go into a lot more detail on each topic. We slowed the pace down a bit and added more room for practice.
- Swift Functions: We'll only be focusing on Functions here and we'll deal with Optionals separately.
- Object Oriented Swift: Structs and Classes only. More in depth example and usage.
- Build a Simple iPhone App with Swift 2.0 : More or less the same, but we've expanded our explanations and given a high level overview so you can better understand the concepts as well as the details of building an iPhone app.
Swift 2.0 Enumerations: Deeper dive into using enums both in plain Swift and in iOS.Swift 2.0 Optionals: Essentially a brand new course with a lot more detail on where, how and when to use them. Swift 2.0 also introduces new language features for dealing with optional values. Retake this course even if you took the first one- Swift 2.0 Enumerations and Optionals - Combines the two courses above.
- Swift Protocols: Same content, more chances to practice and test your knowledge. Bumped this up the list because it is somewhat required knowledge for error handling concepts.
- Error Handling in Swift: Brand new course. Swift 2 has built in error handling that's mildly confusing so we're dedicating a full course for it.
- Build a Vending Machine App: This app puts into practice usage of enums, optionals and error handling. We'll introduce alerts and dealing with presenting errors to the end user. Smaller course that will be light on UI content.
- Intermediate Object Oriented Swift 2.0: One of the largest areas of difficulty for students have been dealing with initialization of objects and the various pitfalls you run into with classes in iOS. This course will go deeper into initialization types and chains. We'll also look at computed properties, property accessors, lazy properties and so on. Last year when writing Swift content we decided to eliminate these topics to ease students in. However, "real" Swift code written by the community is full of these kinds of topics so we're introducing it earlier. It'll be a bit harder, yes, but you'll be more prepared for the real world.
- Build a Text Adventure App: This is replacing Playlist Browser. Choose your own adventure story style app where the focus is on navigation, presenting many views and dynamically modifying data.
- Swift Closures: This is a hard topic. We knew that last year but now we have feedback on where exactly things need improving. This updated version will also include error handling with asynchronous methods.
- Build a Weather App with Swift 2.0: More or less the same course but will include error handling as well.
- Enhance Weather App with Table Views: More or less the same course. We've taken your feedback into account and improved stuff.
- Swift Delegates - Same course more practice.
- Restaurant Finder with Core Location: You'll be using the Foursquare API to find all the restaurants around you. The focus of this course is essentially to sum up all the knowledge we've learned so far and put delegates into practice. To let you practice with delegates and learn different uses for this pattern, you'll use delegation in this app quite a bit.
Non Track Content
In an effort to trim down the courses, and not overload you all with too much information too quickly, I'm removing almost all of the layout related content. I'll teach you how to position things as much as you need to know for the course, we'll stick to stock UI components and start with a lot of the UI of the app already put together in starter files.
Why? Layout is a vast topic and iOS 9 introduces even more layout concepts. You can do a lot with what I'm teaching you here without diving too deeply into layout. Don't worry though, we're not ignoring layout. We'll be releasing workshops and courses that are purely layout focused and I'll link to them when they're on the horizon. We've gotten quite a bit of feedback about the need for more layout content and let me reassure you that it is coming.
This isn't all there the Swift content we've planned :) . We've got a lot more coming, but this is what you can expect in the next 3 - 4 months.
Short Term Plan
The goal is to release 1 course per week starting today. We may slip from that goal but we'll try our best to stay on schedule. Our other iOS teacher Gabe, will focus on teaching the Objective-C language (yes, you need to know it, too) and then jump directly to intermediate iOS content.
For those of you who are big Amit fans, in case you were wondering, he's no longer teaching at Treehouse. . He's still here at Treehouse -- he's the lead iOS developer on the mobile team so if you learn on our iPad app, tweet him and say thank you!!
The existing Swift track won't be archived until all of this content is available, and none of the iOS concepts have changed so if you're comfortable with writing Swift 2.0 code yourself, then feel free to take those courses. If you have any questions (like additional feedback you'd like to try and work into the courses before they are released) then Twitter is the fastest way to reach me.
Cheers, Pasan
31 Answers
Luke Glazebrook
13,564 PointsWow Pasan, looks like there is a lot of content on the way! It is always good to see the library filling up with more great information.
Keep it up!
Emmanuel Darmon
6,115 PointsPlease, do not forget to teach how to use Parse, CloudKit and Core Data to develop iOS apps. Thanks a lot, your first Swift courses are really well done!
Emmanuel Darmon
6,115 PointsWell, forget about Parse... :-/
Konstantin Mishukov
7,707 PointsAwesome news, I've just finished the Swift course. Looking forward for new content.
Gabe Nadel
Treehouse Guest TeacherWanted to let you all know that a course on Memory Management (Swift & Objective-C) as well as a course focussing on comparing and contrasting Swift and Objective-C are also underway. There should be lots to keep everyone busy!
Gabe Nadel
Treehouse Guest TeacherThose courses are set to be released the week after next (Dec 14-18). Apologies for not updating the roadmap sooner!
Ritesh R
Courses Plus Student 17,865 PointsThanks for the update..
Rudy Matos
3,262 PointsI just made an executive decision. I will start taking some of the courses from Swift (1.2) Track. One of the reason why I love TreeHouse is because the simplicity how everything is explained and of course, Pasan it's an excellent teacher. Although Swift 2.0 track is getting too slow to release updated videos. I'm still waiting for the "Build a Vending Machine App" and at this stage "Intermediate Object Oriented Swift 2.0" is going to take even more weeks to get released. I don't wanna wait so long to continue my learning process. By the time those videos get released I'll be probably done with the Swift (1.2) track. I was really excited about the following phrase "The goal is to release 1 course per week starting today." I see that is not accurate at all. Hopefully they will surprise us and TH will upload a few videos at the same time. Let's cross our fingers.
Emmanuel Darmon
6,115 PointsRelease less => Wait more => Pay more ($$$) But those courses are still the best I could find on the internet... so I'm still waiting! :-/
Pasan Premaratne
Treehouse TeacherMore like I'm the only person on the team making Swift content -> Swift is always changing (2.2 releases next month. Version 3 in September) -> + general delays. I should point out that all this stuff is new to us as well you know. Apple doesn't train us in Swift or anything and it takes a tiny bit of time to do some extra research.
Rudy's decision is fair. Many parts of the Swift 1 track aren't very different so taking content there should help you learn more. The delay right now is because I introduced a few more courses + reordered things in the list above based on the latest things I learned about Swift. We'll be introducing a few topics earlier than we planned on but I think in the long run (or at least until Swift 3 is out), it will be better for students.
Raphael Reiter
6,820 PointsIs there a place where we can get practical examples to things we learn? I'm confused about what we are learning, to what it will later be applied to. I am extremely ignorant and I have no idea why I'm learning what I'm learning. Are other people in my situation too?
Pasan Premaratne
Treehouse TeacherI am extremely ignorant and I have no idea why I'm learning what I'm learning.
Trust that we will get you there :) In all honesty, it's hard to offer practical examples for basic language constructs. That's akin to asking to show how nails are used in the building of a space shuttle.
It's normal to be confused at first, but as you go along you will get more comfortable with how things come together. By the time you get to the Build an iPhone app course you will have a good idea of how all these things come together.
Keep in mind that if you were to go to school for this kind of knowledge, you're required to take 2 - 4 years worth of time, classes, homework and projects to understand it all. We attempt to do that much sooner but still, you cannot get the "whole picture" after 1 or 2 courses.
There's a reason iOS developers are paid really well. It takes time to accumulate skills.
AR Ehsan
7,912 PointsSorry didn't mean any offense, just got a little mad that time. Cool
AR Ehsan
7,912 PointsSo I thought you and and Amit Bijlani were teaching together. What happened to him?
villa
6,171 PointsPasan. I finish with Track iOS Development with Swift 2.0, what do you recommend for my next track?
AR Ehsan
7,912 PointsPLEEEEASE TEACH HOW TO MAKE REALTIME APPS WITH FIREBASE :)
Rudy Matos
3,262 PointsI'm not 100% sure if I am allowed to do this on this thread but here is some really quick and easy tutorial of how to get started with Firebase and Swift. This is not advertising. I found this like pretty helpful and I'm just sharing it. Enjoy it! http://www.appcoda.com/firebase/ It's pretty Neat, huh! (Pasan's voice)
AR Ehsan
7,912 PointsRudy Matos I already have seen that. I requested teamtreehouse to make a course about ti
Chung-En Hsu
3,761 PointsThat would be amazing, and really, really useful!!!
jonathanpatience
3,390 PointsHi Pasan,
I'm midway through the swift structs course after completing the prior courses on the track. I'm unsure what to do now. I was hoping to finish the whole swift track in the next month or two so waiting for the swift 2 content may cause me problems.
Thanks
Pasan Premaratne
Treehouse TeacherHi jonathanpatience,
You can keep going. We also have a condensed workshop - What's New in Swift 2.0 that you could take after you're done with this track.
If you can wait though I would recommend it. We went through all the data we had on where the courses need improving and what wasn't taught properly so these newer ones are better.
The old Swift Structs course will be replaced by the new Object Oriented Swift course which should be out in 3ish weeks if that's not too long for you.
Ruben Bos
570 PointsI'm currently in stage 3/11 of the Swift Course. Should I switch now? What would serve me best? I want to avoid to much repetition.
And great how Treehouse updates it's content and introduces new courses this fast!
Pasan Premaratne
Treehouse TeacherYeah I'd say go ahead and switch. A lot of the concepts are the same so there's no negative to taking the old courses. We also have a What's New in Swift 2.0 workshop but this only shows syntax and not how to use things in practice.
Like I've mentioned elsewhere in this post as well, the newer courses are better and I think it will do a better job of teaching you iOS development than the current ones.
Michael Palmer
1,494 PointsHey Pasan,
Thanks for the update - it's great to see new content is coming.
I'm currently on Stage 3: Optionals of the Swift Functions and Optionals Track - I don't really want to stop my progress and delay my learning but at the same time I'm worries about overlapping when we switch - what do you recommend doing now?
Thanks Michael
Pasan Premaratne
Treehouse TeacherIf you wait couple more days we should be on the same pace as you :) The new Swift functions course comes out early next week. Optionals has changed sufficiently enough since the first version of the course (that you're currently taking) was released that I'd recommend waiting
Michael Palmer
1,494 PointsHey, thanks for your response!
Is the week by week release going to happen in the order of your list on this post?
I'm just concerned about finishing one track and then having a large delay before I can start the next one.
Pasan Premaratne
Treehouse TeacherYeah the list above is more or less in order. (95% finalized). I may add a course or two in there depending on whether student feedback indicates more explanation is needed.
Malerie Anderson
4,941 PointsHi Pasan,
You mentioned that we need to know Objective-C too, so if I've just started the Swift track and don't want to repeat too much but don't want to delay progress either, would it be a good idea to focus on the Objective-C track while we wait for this Swift 2.0 courses to come online? Thanks!
Pasan Premaratne
Treehouse TeacherYou certainly could get started and that would be a great use of your time. However we are updating those courses as well and are looking to publish those in early November. The newer version of the Objective-C content is an improvement from a teaching perspective rather than any "new" content per se so totally up to you whether you want to wait on that or not
AR Ehsan
7,912 PointsHi Pasan,
I would like you to add the following courses in the swift 2.0 tracks. An IOS Developer should know these stuff. Why don't you guys teach it
1) CoreData 2)Parse 3)Firebase 4) Some other advanced topics like these ones
Pasan Premaratne
Treehouse TeacherBecause this is the Beginner iOS track. For Core Data you need to know some objective-c basics and we will be including this in the intermediate iOS development track.
We're only going to be sticking to Apple's development stack strictly so we won't be including 3rd party tools like Parse. I don't even know what Firebase is and I've never used them (both Parse or Firebase) so I disagree that iOS developers "need" to know them.
That being said, there's a decent amount of requests for Parse so we will probably do workshops on them in the near future. The way we structure content at Treehouse, workshops are not included in tracks so some of the content you ask for exists in the library, it's just not in the official track
Angela Don
613 PointsAny way you can release the course faster, I wanna start building apps :D
Angela Don
613 PointsPerhaps a beta version I can test out? btw here is my portfolio angeladon.io
AR Ehsan
7,912 PointsPasan. Just by learning the Swift track(old one), doesn't mean that you will become an IOS developer. There are so many more stuff out there that you guys need to add. An IOS developer isn't just suppose to know a few basic stuff. You guys need more improvement on the swift tracks. Objective-C track is pretty good. But the swift track needs more content. Again, referring to the old one. So I completely disagree with you that an IOS is not suppose to know Parse, Firebase, CoreData, and maybe even SpriteKit. If you don't know Parse and Firebase and sprite kit. How are you an IOS Developer. Suppose someone wants to get a job, when they ask you to show your work to them, they would like it if it's good. Then they might ask what stuff you know in Swift. If you don't know CoreData or Parse, you probably wouldn't get a job. You guys should teach some new things in the new language(Swift!!!)! These topics are so important to learn, you guys need to teach these stuff. It's for your own students good.
Pasan Premaratne
Treehouse TeacherI never said you don't need to know those things. I said that this is the Beginner iOS track. Beginner means there will also be an intermediate and an advanced track.
Pasan Premaratne
Treehouse TeacherAbdullah Abdurrahman Ehsan: This is a follow up from 3 months later but I wanted to highlight something that happened today. Facebook shut Parse down.
To reiterate what I said earlier, it's really important to understand software development generally and not just how to use a single tool. Had we gone with Parse 3 months ago, everything we would have released would be wasted courses at this point.
Software platforms come and go but the basic skillsets always stay the same
AR Ehsan
7,912 PointsSo another track?
Pasan Premaratne
Treehouse TeacherYeah we will be adding an Intermediate iOS dev track as soon as we're done with this one that covers stuff like scroll views, collection views, core data, cloudKit, etc. We keep track of long term requests here: https://trello.com/b/YKdTroug/treehouse-ios-content-roadmap
Wilson Muñoz
16,913 PointsI don't see any Parse, am i missing something?
Pasan Premaratne
Treehouse TeacherWe're not teaching Parse in this track (doesnt mean it wont be taught outside of the track). There's a misconception that knowledge of Parse is required to be an iOS developer - it isnt. It certainly makes some tasks easier but the goal of this track is to teach iOS development that's applicable to any project and not just for ones that utilize Parse.
We will probably teach Parse as a workshop series that complements the content here.
Ritesh R
Courses Plus Student 17,865 PointsWhen can we expect the new Objective-C courses? It still shows November in the roadmap content..
Pasan Premaratne
Treehouse TeacherGabe Nadel is the ObjC teacher and can answer your questions :)
Marko Aleksa Milovanovic
1,870 PointsHi Pasan,
I'm curently on Swift basics 1.0. Should I switch to Swift 2.0 or stay on 1.0?
Thank you!
Pasan Premaratne
Treehouse TeacherSwitch :)
Sebastian Nitu
8,616 PointsPasan Premaratne which course is next? The one related to Error Handling as mentioned above or the one from the Roadmap - Protocols?
Pasan Premaratne
Treehouse TeacherProtocols. I'll reorder things as they come out. Error types require protocol conformance to work so it made sense to release protocols first and get that understanding in place
Emmanuel Darmon
6,115 PointsWhat does it really mean that Swift is now open code?
Pasan Premaratne
Treehouse TeacherCouple different things.
- Swift development is now done in the open. This means we (Treehouse) will be better able to anticipate and adapt our content accordingly rather than having to redo every thing every summer.
- Given the above, we know that Swift 2.2 is coming in early 2016 (not so many changes to the language) and Swift 3 is coming late 2016 (lots of changes!!).
- You may be able to start doing server side web development in Swift relatively soon, since people are porting stuff over to Linux.
- On the iOS side, nothing changes. Cocoa Touch and the iOS SDK is still closed source.
Open source mostly just means that since the entire toolchain (language, compiler, debugger, standard library, and core libraries) is available, people can start using Swift for all. If that happens, that's a while away.
gökhan sayılgan
2,285 Pointsswitching is ok but i was about the graduate from first course (with weather app btw not playlist browser), so my question is from which part of should i start from this 2.0 course? i don't want to loose time by working basics of swift again.
thank you :)
roohart
5,529 PointsI did the (old) swift course since I didn't update my Xcode so it all worked out fine. BUT now I just started the Swift 2.0 and even though it kind of "starts all over" I think it's good practice and gives me confidence that I actually do know a lot of things... Anyway; you said I should study objective-C as well? I've never heard anyone saying so. Can't I just stick with Swift 'cause I'm really in love with it? :D Why should I study objective-C? I'm kind of shocked I'm hearing this now, after a year with treehouse/swift :D
Pasan Premaratne
Treehouse TeacherAlmost 10 years of iOS development have been done in Objective-C and the language isn't going anywhere anytime soon. While you can write Swift apps yourself, it's important to know objective-c so you can read iOS code and work on existing projects. Don't worry, we'll teach you Objective-C in the Swift track so you don't need to go anywhere else.
We will still primarily write our apps in Swift!
jacob weber
20,743 PointsI'm in the middle of the first Swift course and have taken a break (did a bunch of PHP and JS courses) and want to pick it back up. Does it make more sense to start over with the original course or the new 2.0 course?
Gabe Nadel
Treehouse Guest Teacher2.0, absolutely. Significant syntax changes and any "review" you end up doing will be time well spent.
Raphael Reiter
6,820 PointsI would go directly to the 2.0 course.
Corey F
Courses Plus Student 6,450 PointsI do hope the courses start coming out faster. I ended up pausing my enrollment temporarily because it doesn't make sense to have an active account and pay monthly to wait for them to trickle out. If the courses come out 2-3 weeks apart it makes more sense to pause and wait for them to accumulate.
So I hope the pace is picked up slightly. I also find the large gaps in release dates make it harder to keep up momentum from previously learned material and you forget a lot.
I noticed a "Objective-C Basics" course, but I thought there was supposed to be courses for Objective C on the actual Swift track that teach with the assumption of the learner having had learned Swift up till that point. That why we don't end up relearning material / concepts. I'm hoping that still is the case... as relearning foundational stuff like what a variable is, would be kind of annoying.
AR Ehsan
7,912 PointsPlease teach firebase now that parse is shut down
hum4n01d
25,493 PointsOk so now theres a bunch of Swift 3 courses but no track for it. I did the Swift 2 Basics and then Control Flow and Loops courses but then switched to the Swift 3 courses for functions and I’m confused as to where to go next. I’m assuming that object-oriented Swift 3 is the next course but I really don’t know. Also, if I understand correctly, I’m going to have to re-take Swift Basics and Control Flow and Loops for Swift 3 to get credit for the track won’t I?? I asked this already on the forum and got a no but I still wish you could test out of courses :(
Thanks Pasan Premaratne for making these courses and please make a Swift 3 track :D
Angela Don
613 PointsAngela Don
613 PointsAny way you can release the course faster, I wanna start building apps :D