Mobile App & Tablet Development
Mobile Application Development for Tablet Portable Devices
Today's desktop application developers have it easy. We essentially have three OS platforms to choose from: Windows, Mac OS X, and Linux. And even then, there are often ways to make software written for one platform run on the others. Compare that to the early days of PC software development, when developers were forced to choose between Apple, Atari, Commodore, IBM, and other proprietary hardware platforms, with little commonality in between. But even those Bad Old Days pale in comparison to the situation mobile application developers face now. Suffice it to say, we at Santex have done our homework, and we can help you, navigate the shark infested waters of mobile technology without being bitten.
Even if we limit the choices to smartphone platforms alone, mobile developers must choose between Android, BlackBerry, iPhone, Palm webOS, Symbian, Brew and Windows Mobile -- am I forgetting any? And each is incompatible with the others. In turn, the choice of platform limits the choice of tools and languages that are available, not to mention the range of devices the apps can run on. That's true even for Java -- Java ME was a nice idea, but the world of mobile handsets is still a far cry from "write once, run anywhere."
Mobile software development is in the process of transforming existing software used by computers into software which can be used in any mobile device. It also refers to the creation of new software such as mobile web and mobile applications for mobile devices. Mobile software can be developed by using different platforms and programming languages based on the type of mobile device the software is being developed for. Different mobile devices use different hardware components; therefore, their mobile software and mobile applications have to be developed using different software architectures. Mobile software development is a difficult process because users of mobile applications have different preferences; therefore, mobile services providers have to develop applications based on the demand of the users. In consequence, extensive improvements to traditional systems development methodologies need to be done in order to keep up with the demand from the users of mobile systems. Most of the systems being used are based on the model-driven software which has three different aspects for the development of the application: (1) the application itself and its structure, (2) the business logic and (3) the graphical user interface of the application.
Windows Mobile, Palm OS, Symbian OS and iOS support typical application binaries as found on personal computers with code which executes in the native machine format of the processor (the ARM architecture is a dominant design used on many current models). Windows Mobile can also be compiled to x86 executables for debugging on a PC without a processor emulator, and also supports the Portable Executable (PE) format associated with the .NET Framework. Windows Mobile, Palm OS and iOS offer free SDKs and Integrated Development Environments to developers. Machine language executables offer considerable performance advantages over Java.