|
For winning one of our Teacher Awards last year, Stephen Ainsley from Harton Technology College in South Shields asked for us to develop a mobile app (specifically an iOS app originally) for the school. Stephen wanted an app version of their school planner – in other words, a digital version of a homework tracker, timetable viewer and school information database.
This article is intended to briefly cover the route we took when developing our first mobile application.
The Choices
There are quite a few methods for developing mobile apps and during the planning stages of this project I had a look at the following:
A Native App
Building a native mobile app for each system you're developing for (Using Xcode for Apple devices, the Android SDK for Android devices etc).
Pros
- Native apps generally run a lot smoother and faster than non-native apps.
- A lot of support for development out there (tutorials, guides, forums etc)
Cons
- Can be very time consuming learning new programming languages for the first time (Objective C for iOS, Java for Android etc).
- To build a native iOS app you will need an Apple Mac (No developing on the PC).
I had only very briefly experimented with Xcode and it had quite a steep learning curve. It became apparent that it would take quite a long time to reach the necessary skill-level required for this project.
A HTML5 Mobile Framework (Sencha Touch)
I then stumbled upon an interesting JavaScript framework called Sencha Touch. It seemed like the perfect choice, initially.
Pros
- Cross-platform compatibility (can be used on iPhone, Android and Blackberry touch devices)
- Built with web standards. Sencha uses HTML5, CSS3 and Javascript so whilst building the app, I'd also be furthering my general web development skills too.
Cons
- Can be very complicated getting started for users inexperienced with intermediate-advanced JavaScript (i.e. me!).
- Whilst there were some good tutorials and examples available, very few of them seemed to show how all of these concepts actually come together. Sencha was also between several different versions; so different coding examples and guides were using different methods of accomplishing things. Very confusing.
Despite really liking Sencha Touch, it became apparent after a long time of going around in circles that I was getting nowhere and, if I wanted the project finished sometime this century, I should probably switch to a technology I was already familiar with.
Flex – An Open Source, App Framework
Adobe Flex is a Framework for Adobe Flash (usually built with Flash Builder) that was designed for creating Rich Internet Applications and adapted for mobile devices recently. Flash gets a lot of bad reputation in the mobile area (with even Adobe themselves dropping general Flash support on mobiles) but there are still some positives.
Pros
- Cross platform, native support. With Flash Builder you can build an app, then with very little code changes, export it to a native(ish) iOS and Android (and Blackberry tablet) version.
- Personally, I had used Flash and Flex on previous projects, so it made the learning curve a lot less steep.
Cons
- Even though Flash Builder converts the code to a native(ish) format, it still doesn't feel quite right and can also run slightly slow if you've not optimized your code.
- Apps created this way require iOS Devices to be running at least version 4.0 (so iPhone 3G and lower and the first generation of iPod Touch).
I ended up choosing Flex due to the fact that I already had experience with the development environment and therefore it would take substantially less time to create the app. Indeed, after a couple of days I had already built more of the app than I had with Sencha Touch in a couple of weeks.
Building the App
Over the course of several weeks of development (on and off, alongside other projects) I had the first version completed and tested on my own Samsung Galaxy SII (An Android phone) and a friend's iPhone 3GS. It was then a case of ironing out bugs, testing it out further and then uploading to the Apple App Store and the Android Market, ready for the school to test it out further.
The Adobe Flex Developer Center was invaluable for having great tutorials, guides and articles and I recommend anyone wanting to develop apps through this method to start there.
Obviously the App is only really useful for pupils at Harton Technology College but it should give you an idea of the basics of what app development with Flex can accomplish.
The App is very basic in terms of design and functionality but it was still a great learning experience.
If there are any schools who would like to know more information, feel free to contact me at:
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
Download the App
 
|