Android

Comparing the Windows Mobile and Android Develpment Platform

7 Mins read

Mobile Development Platforms Comparison Introduction

SLikeGoogle, software giants are disrupting the otherwise safe and established players in the mobile application development business. Newcomers like Android phones have led to significant structural changes in the future of mobile application development by imposing their rules. This changed environment not only brings additional opportunities but also adds certain constraints. Developers today need to assess their options and determine how they can benefit from this changing environment. While mobile computing has caught the attention of application developers, very little work has been done to examine these technologies’ programming ease. Here we will look at two of the most widely available mobile development environments – android phones and Windows Mobile and explore and assess these options from a developer’s perspective.

Android

Google released Android in 2007 as an open-source platform for mobile software development for smartphones. The Android platform was released as part of the Open Handset Alliance. The primary aim of this alliance was to set up open standards for smartphones. Android is a Linux-based, open-source operating system for mobiles. As a mobile operating system, it allows developers to create managed codes in Java using Java libraries developed by Google. NAndroidphones provide a mobile operating system, including a development environment. It also offers a custom virtual machine known as the Dalvik Virtual Machine for running applications and acts as the middleware between the operating system and the code. Regarding application development, android phones facilitate the usage of 2D and 3D graphic libraries, advanced network capabilities such as 3G, Edge, and WLAN, and a customized SQL engine for continual storage.

Windows Mobile

RELATED ARTICLES :

Windows Mobile

Developed by Microsoft, Windows Mobile is an operating system for mobile devices. Based on Microsoft Windows CE 5.0, Windows Mobile operates on many smartphones, PDAs, and touchscreen devices. Windows Mobile facilitates the creation of custom-written applications in managed and native codes. The Application Programming Interface (API) in Windows Mobile is extensible and has rich features and a programmable layer. Besides that, Windows Mobile also takes advantage of the capabilities provided by the Microsoft.Net environment. We will compare these platforms and closely examine their strengths and weaknesses. The media will be reached based on implementation, performance, and developer support. We have chosen these criteria for the comparison as they represent the most important aspects of mobile software developers.

Implementation

We will 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. Windows Mobile and Android phones can use an on-device database that facilitates easier data manipulation and extraction. Also, regarding local file storage, both environments support memory cards for additional storage space. However, the difference lies in the way the storage space 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 media, the libraries have several useful persistence features. Once the libraries have been initialized, access to a database is available via an object-oriented interface, which developers can easily access.

Performance

Performance figures are important for both users as well as developers. The performance comparison of the two platforms will be carried out based on the file size. The primary purpose of measuring file size is to understand better the configuration and the run time dependencies included in packaged applications. Android phone applications come packaged in-app (Android Package) files. The. APK file generally has a group of.DEX (Android phones program files) files operate as a single application file for usage within the Android platform. The. APK file is the compressed version of the contents in the ‘Androidmanifest.xml’ file.

Windows Mobile applications make use of cab files for application packaging and deployment. The first step while making a distributable file involves packaging the application in a CAB (Cabinet) file. This CAB file can be deployed to other devices that can be expanded and installed. A CAB file is an executable archive containing the application, resources, and dependencies like DLLs and other resource files.

Tom Morten Gronli, Jarle Hansen, and Gheorghita Ghinea of Brunel University, London, conducted a comparative study of mobile development environments. In this comparative study, a demo example application was created for both the Windows Mobile and Android phone development platforms to better illustrate each application’s deployment file size. The demo example application was a simple program that printed a line of text on the screen. The result from the code example was as follows:

  • The deployment size of the demo application in the Windows Mobile environment was 2.8 KB.
  • The deployment size of the demo application in the Android phone environment was 9.3 KB.

The file sizes, as denoted, were without any obfuscator or shrinker software. This type of file is that an end-user would download or get shipped and installed on their device. As seen above, the demo application in Windows Mobile had a file size of 2.8 KB, while Android was approximately three times the size at 9.3 KB. This indicates the total number of configuration files and runtime dependencies that must be bundled with each oclient’sapplications. Regarding the number of lines of code, Windows Mobile required only 11 lines, whereas Android needed 28.

Developer Support Comparison

Developer support is an essential aspect when it comes to gaining speed as well as quality during the development process. While both mobile development platforms have similarities, developer support has some unique differences. The differences become more apparent when we consider the integrated developer environment (IDE) and the tooling.

The only choice for development in Windows Mobile is Visual Studio, which Microsoft again develops With Visual Studio. Windows Mobile needs Microsoft backing before it can implement and ship new features in the IDE. The community can only make suggestions but doesn’t have any direct influence. However, there is a positive side as consistency is assured. Also, the quality approval process implemented by Microsoft while shipping new products will ensure quality.

On the other hand, there are several tooling options for Android, with quite a few IDEs. Android has open-source communities that contribute to IDE development by providing and assuring the quality of plugin functionalities for software. However, multiple IDE environments can be challenging to maintain consistency and quality assurance. A character becomes a challenge as extension features may be available for only some competing IDEs. Quality assurance becomes a major challenge as development carried out by the community is not governed by a common standard for quality required before making the new integrated developer environment feature available. Quality assurance of the delivered code is essential for delivering fully functional products. These two factors can potentially make code and application portability between environments impossible.

One of the differences between the Android and the Windows Mobile development platforms regarding developer support and quality assurance becomes more apparent in the testing environment. Let us look at this closer during unit testing of both development platforms. Unit testing is a quality assurance and validation tool for testing small computer or mobile application parts. The aim is to have each section isolated and tested separately. This will help to isolate and assure the quality of the different units of the application.

Unit testing for Android is considerably straightforward as the API uses the JUnit test framework. The JUnit framework enforces the hierarchical organization of the various test units, which is a major advantage. Besides that, the JUnit pattern ensures the independence of the test units as well as minimizes interference. This is done by creating and destroying the recently completed test environment before and after each test method. Android even takes JUnit a step further by allowing on-device code testing. Here the test libraries are incorporated as part of Android’s standard libraries.

However, one challenge with Android’s on-device testing compared to Windows Mobile is the results’ readability. Android’s on-device tests don’t have a user interface to display the results. IToview test results: A handler that deals with callbacks from Android’s test runner must be implemented. On the other hand, Windows Mobile exhibits high readability and visibility, while the Android platform is a bit hard to use regarding efficiency. The difficulty with Android is the lack of automatic feedback through visual tools in the integrated development environment in Windows Mobile.

Windows Mobile implements a version of the xUnit framework. The code for test classes is kept in a separate project, though it still stays inside one IDE solution. Like Android, Windows Mobile’s xUnit testing also allows on-device testing. The most significant difference here, as mentioned earlier, is its test feedback. Windows Mobile has a more comprehensive user interface offers feedback based on each test run. This makes it easier for developers to understand better which test succeeded and why a particular test failed.

Debugging support is also important for application development as it is a real-time step-by-step code execution, which can help find and fix bugs. The debugging process will depend on the integrated development environment to perform its task. Both Windows Mobile and Android platforms support step-by-step debugging. Besides that, both platforms also include an on-device debugging feature that lets an application run on a mobile device while debugging runs in the IDE.

Conclusion

Android and Windows Mobile have the advantage of being closely integrated with the mobile phone’s operating system. This results in great integration between the mobile device and the development environment. The primary strength of Windows Mobile is its close connection with Microsoft as a sole vendor. This ensures the development environment’s stability and high-quality assurance regarding features enabled for application developers. On the other hand, Android has brought an interesting way of distributing apps through the Android market. As the Windows Mobile development platform is a product from Microsoft, it is Visual Studio based. Visual Studio also relies on the Windows operating system, so you don’t have any choice here. For Android, on the other hand, Google offers the Eclipse plugin. Developers are not locked into Eclipse as IntelliJ IDEA and Netbeans provide developer support. This means that developers can choose the IDE and operating system they want. Development ease in various areas will majorly influence the mobile development platform’s choice for creating assistive environment applications.

899 posts

About author
Falls down a lot. Extreme beer maven. Coffee trailblazer. Hardcore twitter geek. Typical zombie fanatic. Skydiver, foodie, band member, International Swiss style practitioner and front-end developer. Producing at the nexus of aesthetics and intellectual purity to craft an inspiring, compelling and authentic brand narrative. Let's chat.
Articles
Related posts
Android

How to Install Android Device Manager On Your Computer

4 Mins read
We will explain how to install the Android Device Manager software on your computer and configure it for easy management and remote…
Android

How to Take a Screenshot on Your Android Phone

4 Mins read
Have you ever needed to take a screenshot on your Android phone? Capturing a screenshot on your Android phone is a simple…
Android

Why you need an Android App for Cycling

4 Mins read
You can use Google Assistant to get real-time data, control your cycle and stay connected with your family, friends, or colleagues on…