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

General Discussion

I want to learn about how to create an app, which lesson should I start on

Should I start with android, IOS, objective C

2 Answers

Depends if you have an Mac or not. I would go crossplattform apps with html/css/javascript

But if this is no option. No Mac: Java course->Andriod course

Mac: Objective-C course -> Swift course

Michael Hulet
Michael Hulet
47,912 Points

Don't try those cross-platform apps with HTML/CSS/JavaScript. They don't perform very well and they end up becoming hard to maintain.

What platform do you want to develop for primarily? iOS or Android? I would personally recommend iOS, but as Tobias Krause pointed out, you need a Mac to develop for that. Assuming you do, I'd start with Objective-C, then move on to Swift, because Objective-C is an older, more stable language that has far more support on the internet, but it's becoming increasingly important to know both.

If you'd rather do Android, or if you don't have a Mac, you can jump right into the Android Development track, no Java experience required

These reasons...why should they perform bad? The web is the future ;) https://www.chromestatus.com/feature/5453022515691520

Michael Hulet
Michael Hulet
47,912 Points

JavaScript runs at a much slower rate than native code, and WebAssembly doesn't have a defined syntax yet. It's a good 5-10 years off at least.

Have you ever tried anything like PhoneGap, Ionic, or React Native? Not a single app I've found made with them perform close to as well as native, plus they only have access to a small set of native APIs on every platform. On top of that, you don't truly maintain the same codebase, but you have to write different code (especially UI) for every platform.

Overall, using an HTML/CSS/JavaScript framework to create a "cross platform" app ends up building, without fail, a poor excuse for a mobile website that gets installed on your home screen that can only do a limited number of tasks compared to native that always ends up becoming impossible to maintain after building platform-specific code for each platform. On top off all that, these skills don't really have much of a place in the marketplace, because companies hire native developers to build good apps.

Also, this is perhaps a personal preference and can be the topic of an entire other discussion, but JavaScript is a generally awful language and should be avoided at all costs when possible.