Lecture Date: Friday, November 16
As we discussed in the monetization lecture, determining which platform to build for can be a tricky decision. There are several aspects to consider:
- Which platform has the most users? Android, definitely.
- Which platform has more stuff in the app store and makes it harder to find things? Again, Android. Definitely.
- Which platform is more expensive to develop for? iOS. (Macs are not cheap, plus $100 a year.)
- Which platform makes the most money for developers? Probably iOS.
So, the answer than many compaines come to is that they need to develop for both Android and iOS to hit more of their market. One way to do this is to have two dedicated teams, one for each platform, that collaborate on requirements and design. This is how many mobile shops like WillowTree opperate.
However, in a large company whose main business is not producing software, there's a desire to optimize the time needed to produce an app. Also, if updates need to occur, it's best to make those changes in one place. Hence the desire for cross-platform development.
Cross-platform development for mobile basically comes in two forms:
- Build with an API/toolchain that exposes the native SDK of the platform for a single programming language/system (i.e. C# with Xamarin)
- Build a hybrid HTML5 web app that can execute as an app on the device (i.e. Apache Cordova)
Some tools and links you should look at: