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 trialRaphael Reiter
6,820 PointsSoftware 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
6,684 PointsHi 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
Treehouse TeacherIn 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
6,820 PointsThanks 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
Treehouse TeacherUnfortunately we don't have any courses covering OS X development on Treehouse :(
Daniel Santos
34,969 PointsPasan Premaratne is there any plans for the Treehouse's team to get into OS X development?
Pasan Premaratne
Treehouse TeacherNo 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