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
Raphael Reiter6,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 !
Michael Curtis6,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 PremaratneTreehouse Teacher
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