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

Pasan Premaratne
STAFF
Pasan Premaratne
Treehouse Teacher

Swift 2.0 and the updates to iOS Content

iOS students at Treehouse!

The day has finally arrived :smiley:, 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. :disappointed: :disappointed_relieved:. 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

Angela Don
Angela Don
613 Points

Any way you can release the course faster, I wanna start building apps :D

31 Answers

Wow 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
Emmanuel Darmon
6,115 Points

Please, 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
Emmanuel Darmon
6,115 Points

Well, forget about Parse... :-/

Awesome news, I've just finished the Swift course. Looking forward for new content.

Gabe Nadel
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Gabe Nadel
Treehouse Guest Teacher

Wanted 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
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Gabe Nadel
Treehouse Guest Teacher

Those courses are set to be released the week after next (Dec 14-18). Apologies for not updating the roadmap sooner!

Rudy Matos
Rudy Matos
3,262 Points

I 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
Emmanuel Darmon
6,115 Points

Release 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
Pasan Premaratne
Treehouse Teacher

More 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
Raphael Reiter
6,820 Points

Is 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
Pasan Premaratne
Treehouse Teacher

I 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
AR Ehsan
7,912 Points

Sorry didn't mean any offense, just got a little mad that time. Cool

AR Ehsan
AR Ehsan
7,912 Points

So I thought you and and Amit Bijlani were teaching together. What happened to him?

villa
villa
6,171 Points

Pasan. I finish with Track iOS Development with Swift 2.0, what do you recommend for my next track?

AR Ehsan
AR Ehsan
7,912 Points

PLEEEEASE TEACH HOW TO MAKE REALTIME APPS WITH FIREBASE :)

Rudy Matos
Rudy Matos
3,262 Points

I'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
AR Ehsan
7,912 Points

Rudy Matos I already have seen that. I requested teamtreehouse to make a course about ti

Chung-En Hsu
Chung-En Hsu
3,761 Points

That would be amazing, and really, really useful!!!

Hi 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
Pasan Premaratne
Treehouse Teacher

Hi 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
Ruben Bos
570 Points

I'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
Pasan Premaratne
Treehouse Teacher

Yeah 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
Michael Palmer
1,494 Points

Hey 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
Pasan Premaratne
Treehouse Teacher

If 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
Michael Palmer
1,494 Points

Hey, 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
Pasan Premaratne
Treehouse Teacher

Yeah 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
Malerie Anderson
4,941 Points

Hi 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
Pasan Premaratne
Treehouse Teacher

You 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
AR Ehsan
7,912 Points

Hi 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
Pasan Premaratne
Treehouse Teacher

Because 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
Angela Don
613 Points

Any way you can release the course faster, I wanna start building apps :D

Angela Don
Angela Don
613 Points

Perhaps a beta version I can test out? btw here is my portfolio angeladon.io

AR Ehsan
AR Ehsan
7,912 Points

Pasan. 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
Pasan Premaratne
Treehouse Teacher

I 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
Pasan Premaratne
Treehouse Teacher

Abdullah 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
AR Ehsan
7,912 Points

So another track?

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

Yeah 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
Wilson Muñoz
16,913 Points

I don't see any Parse, am i missing something?

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

We'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
PLUS
Ritesh R
Courses Plus Student 17,865 Points

When can we expect the new Objective-C courses? It still shows November in the roadmap content..

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

Gabe Nadel is the ObjC teacher and can answer your questions :)

Marko Aleksa Milovanovic
Marko Aleksa Milovanovic
1,870 Points

Hi Pasan,

I'm curently on Swift basics 1.0. Should I switch to Swift 2.0 or stay on 1.0?

Thank you!

Sebastian Nitu
Sebastian Nitu
8,616 Points

Pasan Premaratne which course is next? The one related to Error Handling as mentioned above or the one from the Roadmap - Protocols?

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

Protocols. 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
Emmanuel Darmon
6,115 Points

What does it really mean that Swift is now open code?

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

Couple 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
gökhan sayılgan
2,285 Points

switching 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 :)

I 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
Pasan Premaratne
Treehouse Teacher

Almost 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
jacob weber
20,743 Points

I'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
seal-mask
.a{fill-rule:evenodd;}techdegree
Gabe Nadel
Treehouse Guest Teacher

2.0, absolutely. Significant syntax changes and any "review" you end up doing will be time well spent.

Raphael Reiter
Raphael Reiter
6,820 Points

I would go directly to the 2.0 course.

Corey F
PLUS
Corey F
Courses Plus Student 6,450 Points

I 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
AR Ehsan
7,912 Points

Please teach firebase now that parse is shut down

Ok 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