Between now and Sept 2011, I’ll be immersing myself in the world of creating mobile apps. This is all in preparation as Canadore College prepares to roll out the first full-time post graduate Mobile Application Development program. During the research phase I’ve been asking myself where does Flash fit in all this? Here are some questions I’ve asked and feel comfortable with the answers.
Q. Should students be taught Flash development for mobile devices?
A. Yes. There are several reasons for this. Flash is playing on a number of mobile devices and that list is growing. Also, you can convert your Flash files to AIR applications which run on devices like RIM’s Playbook. AIR applications also extend the performance of Flash. I’m working on an AIR preloader that is not in the shape of a rectangle. This will allow developers to leverage Flash knowledge and experience for a new development platform. This also gets you closer to developing once and delivering on multiple devices.
Q. Should we teach students to convert Flash to iPhone/iPad applications?
A. Yes. The iOS packager with Flash does work and again it gets back to developing once and delivering to many devices. Students with little programming knowledge will be able to create some dynamic applications in a very short period of time. The fast development will help build momentum as we wrap up the school year.
Q. Should we teach students how to build web apps for mobile devices?
A. Yes. There is a growing trend for mobile applications. Rather than being native applications, they are actually web application running on mobile devices. This is good as you can develop the product once and multiple devices can access the application. The downside is that you need a network connection. Yes it is true that it is possible to cache web applications locally, still it isn’t ideal.
Q. Because we are teaching web apps and Flash for mobile development, there is no need to teach native application development.
A. No! I’ve put most of my thinking with this question because I know most of the students I’m getting do not have a programming background. So teaching native object C and Java programming is going to be complex. However, we would be doing the students a disservice if we didn’t teach the basics of coding in the native language. The simple files I’ve packaged in Flash for the iPod Touch do lag and take a while to load up compared to apps written with xCode. While I’m still new to the Flash in the iOS world, what I’ve seen has convinced me we should be teaching native app programming. The native apps the students will create will most likely not be complex. However, they will have a solid programming foundation that they can continue to learn more complex native application programming. My goal would be to significantly reduce the learning curve and get them to the point where they understand how to use the development tools.
So, what are your thoughts on mobile application development? Do you agree with the answers to the questions? What other questions would you ask?