Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Development Tools

Raphael Reiter
Raphael Reiter
6,820 Points

Software or computer app? what do i need to learn to build one?

Hello fellow treehouse enthusiasts!

I would like to know if a computer app ( like the ones you could buy on the mac app store for example ) are what you would also called a "normal software"?

What would I need to learn to build one ? preferably one that would be compatible on mac and windows....

I see on Xcode that it is possible to build an OS app, but would it involve the same coding as for an iOS app? Pasan Premaratne ?

Thanks a lot for your help !

Best,

RR

2 Answers

Michael Curtis
Michael Curtis
6,684 Points

Hi RR, As i think you a suggesting 'app' is just a different term for a piece of software and tend to be most associated with smartphone and Mac OSx.

With regards to creating one it very much depends on what you want to do. XCode is Apple's design software for creating apps for Iphone,Ipad,Mac,Apple tv etc. The language you use is the same for all of these but there will be differences due to the differences in hardware. For the small devices your only option is to write objective C / swift to create apps for Mac there are more choices.

A good starting point for cross compatibility between Mac and Windows would be the Java language, but this can't be used for iphone,ipad etc.

Pasan Premaratne
STAFF
Pasan Premaratne
Treehouse Teacher

Raphael Reiter,

In short the answer is yes and no :) The fundamentals of programming on any platform are the same but the SDKs (frameworks you use) are different. iOS for example uses UIKit to build view components, where as OS X apps use AppKit. There is a lot of overlap in the data/model layer but when it comes to building UI, Macs and iPhones are two completely different things.

The Mac development side of things is also a lot older (30 years) so some of the code you have to write might seem really difficult because it uses older technologies if that makes any sense

Raphael Reiter
Raphael Reiter
6,820 Points

Thanks for your answer. what courses would you then recommend I do to learn this "old code", and how to use the AppKit properly?

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

Unfortunately we don't have any courses covering OS X development on Treehouse :(

Daniel Santos
Daniel Santos
34,969 Points

Pasan Premaratne is there any plans for the Treehouse's team to get into OS X development?

Pasan Premaratne
Pasan Premaratne
Treehouse Teacher

Daniel Santos

No plans right now. The market for macOS development isn't huge so it's mostly a matter of resources. To be honest, Apple also doesn't seem to be putting much effort into the Mac lineup these days so it's hard to gauge the future and whether we should invest in courses for desktop apps.

They currently seem to be pushing the iPad Pro as an everyday computing device so hopefully that means iOS expands to add more desktop like core functionality