Come late August I’ll be teaching a course in Mobile Application Development. It seemed like a great idea when we were discussing new courses to add to the program of studies. Now it appears to me that picking a development platform is easy if you only have to teach one set of devices: iOS or Android Of course Windows Phone is by far the easiest platform to develop for but I am pretty sure the students who have signed up want to develop for their phones. Previous surveys I have done at school suggest the split will be about 60-70% iPhones and 30-40% Android phones. So I need something that works on both. Ouch!
I’d prefer a text based language but a drag and drop or block based language would probably work. Most of those create apps that run in the browser which is ok but never really feels like a “real app” what ever that means these days. What I’ve looked at in that area are TouchDevelop and code.org’s AppLab.
AppLab is pretty cool and gives easy access to cloud data which is a plus. It doesn’t seem to give access to phone features such as accelerometers, GPS, and cameras. I’d really like that to make the course relevant to phones. TouchDevelop, which I have some experience with and even a few lesson and project plans for, does give access to phone features. I need to find out more about cloud data. I think it is there but am not sure how easy it is to use yet.
For text based languages the only real option I know about so far is Visual Studio with Xamarin. I know it lets me do C# and build for both iOS and Android but I don’t yet know how hard it is to deploy to them. I believe that deploying to iOS requires a Mac which I do have access to but I don’t yet understand how that connection works. Hopefully YouTube has something on it.
What I’d really like is to talk to someone who has already done something like this. What worked? What didn’t? Typically I get people who say things like “I haven’t done it myself but this should work.” Ah, thanks, but “it should work” I can usually figure out myself. I’d like to same myself from having to try a lot of things that should work and go right to things people know works.
Next week I start trying things in earnest. Hopefully the computers at school have had their memory upgrades – emulators take a lot of memory. And I can play with the Macs there. But I’m still open to suggestions here. Anyone I know done this already and can save me time?