Software giants, like Google are disrupting the otherwise safe and established players in the mobile application development business. Newcomers like Android have led to significant structural changes on the ongoing future of mobile application development by imposing their rules. This changed environment not just brings additional opportunities, but also adds certain constraints. Developers today, need to assess their options and learn how they are able to benefit from this changed environment.
While mobile computing has caught the interest of application developers, there has been hardly any work done to examine the programming ease of the technologies. Here we will have a look at two of the very widely available mobile development environments - Android and Windows Mobile and explore and assess these options from the developer's perspective.
Android was launched by Google in 2007, being an open source platform for mobile software development for smartphones. The Android platform was released included in the Open Handset Alliance. The primary aim of this alliance was to set up open standards for smartphones 9apps fast download. Android is actually a Linux based, open source operating-system for mobiles. As a portable operating-system it allows developers to produce managed codes in Java, by using Java libraries manufactured by Google. Not merely does Android supply a mobile operating-system including a development environment, it also offers a custom virtual machine called the Dalvik Virtual Machine for running applications in addition to acts whilst the middleware in involving the os and the code. In regards to application development, Android facilitates the use of 2D in addition to 3D graphic libraries, advanced network capabilities such as 3G, Edge and WLAN and a customized SQL engine for continual storage.
Developed by Microsoft, the Window Mobile is an os for mobile devices. Based on the Microsoft Windows CE 5.0, Windows Mobile can be used as an operating system on many smartphones, PDAs and touchscreen devices. Windows Mobile facilitates the creation of custom written applications in managed as well as native codes. The Application Programming Interface (API) in Windows Mobile is extensible and has rich features plus a programmable layer. Besides that Windows Mobile also takes benefit of the capabilities supplied by Microsoft.Net environment.
We will compare these platforms and closely examine their strengths and weaknesses. The platforms is going to be compared on the foundation of implementation and performance aspects as well as developer support. We've chosen these criteria for the comparison while they represent the main aspects in regards to mobile software developers.
We use persistent storage as the basis for comparing the implementation aspect. The technology used for persistent storage in mobile technology varies between various mobile development environments. Both Windows Mobile and Android have the capacity to use an on-device database which facilitates easier manipulation in addition to extraction of data. Also, as far as local file storage is worried both environments support memory cards for extra storage space. However, the difference lies in the way the storage area is exploited. While Android cannot install applications on memory cards, Windows Mobile allows it. Both Android and Windows Mobile platforms have a relational database. Also, in both platforms the libraries have quite a few useful persistence features. When the libraries have already been initialized, access to database can be acquired via an item oriented interface which can be easily accessed by developers.
Performance figures are important for both users along with developers. The performance comparison of both platforms will undoubtedly be carried out on the basis of the file size. The essential purpose of measuring file size is to get a better notion of the configuration along with the run time dependencies which can be contained in packaged applications.