It is very easy to see the opportunity involved with Android mobile application development, as it has only been a few years since the first Android device was released, and it has already evolved into such a complex piece of technology.
At that point, it did not even compare to the popular iPhone, but then again, that was only the first version of the Android device. Since then, the advancements have brought new meaning to the Android name. Following the G1 was the Donut, otherwise known as the Android 1.6, followed by 2.0 closely after, and here we are today with version 4.2 Jelly Bean that implements brand new camera features. “So,” you may ask, “what’s next?” Well, everyone is now waiting for version 5.0, coming shortly.
Operating system – what hardware do you need?
You can make use of several different operating systems, such as Windows, Linux, and Mac OS X to develop your Android mobile applications. For this tutorial, I use the Windows 8 operating system.
The following platforms are supported by Android:
– Windows 8 – 32 and 64-bit
– Windows 7 – 32 and 64-bit
– Windows Vista – 32 and 64 bit
– Windows XP – 32-bit
– Mac OS X 10.5.8 or later – x86 only
If you use a 64-bit operating system, you must make sure it can handle 32-bit applications as well.
Making Sure Your App Won’t Fall Over
Your users’ phones won’t necessarily just be running your application on its own – they will more than likely be doing other work behind the scenes, like downloading files or playing music from another app. You need to know the answers to questions such as these:
• Will downloading files affect my application?
• Will my app crash if a necessary Internet connection isn’t available?
You need to know the answers to such questions – I call this thinking outside of your application boundaries.
All apps are not of the same standard – there are some excellent ones and some dismal ones, believe me! Before you go and broadcast your app to the world you need to make sure you know its limits. You need to know that it will continue to run when users navigate their way around the screen or carry out routine tasks, otherwise, the whole thing could be a bit of a flop.
iPhone Mobile Application Development
An Intel-based Macintosh computer with the latest version of Mac OS is required to get started programming your first iPhone mobile application. The iPhone Software Development Kit (SDK) should also be downloaded for free by becoming a registered iPhone developer.
To start, we will assume that you have a background in object-oriented programming and a form of C languages like C++ or C#.
The first step you must take is to find an idea for a great iPhone mobile application. Let’s say you have an idea for an application to calculate your net-worth in Euros or a data-driven application that helps find the best sandwich joint in Philadelphia. Your next step is to think about the best iPhone mobile applications and what makes them overshadow other applications. What steps are taken while clicking through that application that will seamlessly get the user to the perfect sandwich in the city?
Testing your Application on real devices
To test your application, all you need to do is to start it up and check all its features.
For you to be able to test your new application on your iPhone or iPad, you have to be registered on the iOS developer program and you must have a developer certificate installed onto the device you are using as well. This is one of the biggest problems that developers have come across but Apple has this in place for security reasons – they say that all applications have to be digitally signed and this can’t be done without joining the developer program.
Objective-C and Cocoa
The iOS application development uses the Objective-C, a superset of ANSI-C, with a Smalltalk-style syntax, the language most normally used. You will be able to become skilled at Objective-C rapidly if you have written in any current programming language (such as C++, Java, or even PHP).
The combined name given to the frameworks made available by Apple for the OS X and iOS application development is Cocoa. Cocoa will be used throughout this book to signify the iOS-specific APIs.
Creating an Engaging User Experience
iPhone mobile apps are incredibly easy to download and this is yet another important factor of why apps are so popular with businesses and individuals.
But it’s not just about the fact that the mobile application you need is ready-to-run right there on your phone; it’s (as important) about how the mobile application is designed and implemented. It has to be able to function smoothly and in an ideal world requiring minimum input from you as possible once it is up and running.
Therefore, having the app is one just one part of the story, though having an optimally designed app is something else. These first two elements are about what I describe as content – what an application does.
For instance, a tourist guide application may have a brilliant user interface, for example, but the downside is that it may not provide me the most current information, or inform me exactly when my delayed flight is leaving from New York.
Mobile application development is a quite creative and interesting job and I would recommend it for you to start with developing mobile apps for Android or iPhone devices.