camera

Showing posts with label Mobile. Show all posts
Showing posts with label Mobile. Show all posts

Thursday, March 30, 2017

Comparing the Widows Mobile and Android Develpment Platform

Mobile Development Platforms Comparison


Introduction


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 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 find out how they can benefit from this changed environment.


While mobile computing has caught the attention of application developers, there has been very little work done to examine the programming ease of these technologies. Here we will take a look at two of the most widely available mobile development environments - Android and Windows Mobile and explore and assess these options from a developer's perspective.


Android


Android was released by Google 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 basically a Linux based, open source operating system for mobiles. As a mobile operating system it allows developers to create managed codes in Java, by using Java libraries developed by Google. Not only does Android 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 as well as acts as the middleware in between the operating system and the code. When it comes to application development, Android facilitates the usage of 2D as well as 3D graphic libraries, advanced network capabilities such as 3G, Edge and WLAN and a customized SQL engine for continual storage.


Windows Mobile


Developed by Microsoft, the Window Mobile is an operating system for mobile devices. Based on the Microsoft Windows CE 5.0, Windows Mobile is used as an operating system on many smartphones, PDAs and touch screen 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 along with a programmable layer. Besides that Windows Mobile also takes advantage of the capabilities provided by Microsoft.Net environment.


We will compare these platforms and closely examine their strengths and weaknesses. The platforms will be compared on the basis of implementation and performance aspects as well as developer support. We have chosen these criteria for the comparison as they represent the most important aspects when it comes to 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. Both Windows Mobile and Android have the ability to use an on-device database which facilitates easier manipulation as well as extraction of data. Also, as far as local file storage is concerned 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 the platforms the libraries have quite a few useful persistence features. Once the libraries have been initialized, access to database is available via an object oriented interface which can be easily accessed by developers.


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 basic purpose of measuring file size is to get a better idea of the configuration as well as the run time dependencies that are included in packaged applications.


Android applications come packaged in apk (Android Package) files. The .APK file generally has a group of .DEX (Android program files) files, which operate like a single application file for usage within the Android platform. The .APK file is basically 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 where it can be expanded and installed. A CAB file is basically an executable archive which contains the application, resources, dependencies like DLLs and other resource files.


A comparative study of mobile development environments was conducted by Tom Morten Gronli, Jarle Hansen and Gheorghita Ghinea, of Brunel University, London. In this comparative study, a demo example application was created in both the Windows Mobile and Android development platforms to better illustrate the deployment file size for each application. The demo example application was a simple program which 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 environment was 9.3 KB.

The file sizes as denoted were without any obfuscator or shrinker software. This is the type of file that an end user would either download or get shipped and then installed on his/her device. As can be seen from 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 serves as an indication of the total amount of configuration files and runtime dependencies which must be bundled along with each of the client applications. When it comes to the number of lines of code, Windows Mobile required only 11 lines whereas Android needed 28.


Developer Support Comparison


Developer support is a highly important aspect when it comes to gaining speed as well as quality during the development process. While both mobile development platforms do have similarities, there are some unique differences in developer support. The differences become clearer when we take the integrated developer environment (IDE) and the tooling into consideration.


The only choice for development in Windows Mobile is Visual Studio, which is again developed by Microsoft. 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 assure quality.


On the other hand, there are several tooling options for Android, with quite a few IDEs. Android has open source communities who contribute to IDE development by providing as well as assuring quality of plugin functionalities for software. However, the multiple IDE environment can be quite a challenge for maintaining consistency and quality assurance. Consistency becomes a challenge as extension features may be available for only some of the 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 prior to 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 as far as developer support and quality assurance is concerned becomes more apparent in the testing environment. Let us take a closer look at this during unit testing of both development platforms.


Unit testing is basically a quality assurance and validation tool for testing small parts of a computer or mobile applications. 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 hierarchical organization of the various test units which is a major advantage. Besides that, the JUnit pattern ensures independence of the test units as well as minimizes interference. This is done by first creating and then destroying the recently created test environment, before and after each test method is run. Android even takes JUnit a step further by allowing on device testing of the code. Here the test libraries are incorporated as part of the Android's standard libraries.


However, there's one challenge with Android's on device testing as compared to Windows Mobile is the results' readability. Android's on device tests don't have a user interface which can display the test's results. In order to view results of the test, a handler which deals with callbacks from Android's test runner has to be implemented.


Windows Mobile on the other hand exhibits a high degree of readability and visibility, while the Android platform is a bit hard to use when it comes to efficiency. The difficulty with Android is the lack of feedback, which is issued automatically 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 solution in the IDE. Like Android, Windows Mobile's xUnit testing also allows on device testing. The biggest difference here, as mentioned earlier, is its test feedback. Windows Mobile has a more comprehensive user interface which offers feedback based on each test run. This makes it easier for developers to better understand 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 be dependent 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


Both Android and Windows Mobile have the advantage of being closely integrated with the mobile phone's operating system. This is what results in great integration between the mobile device and the development environment. The primary strength of Windows Mobile is in its close connection with Microsoft, as a sole vendor. This ensures the stability of the development environment as well as high quality assurance when it comes to features enabled for application developers. Android on the other hand, 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 both IntelliJ IDEA and Netbeans provide developer support. This means that developers are free to choose the IDE and operating system they want. Development ease in various areas will have a major influence on the choice of the mobile development platform for creating assistive environment applications.


How A Mobile-Compatible Website Helps You "Be Everywhere"

The emerging mobile innovation today causes advanced mobile phones like the mobile phones, tablets and laptop computers that are flexible and portable for both house and company. A growing number of customers are participating in more than among these innovative devices and devices daily to browse the Web and carry out online deals from anywhere they might be.

Google is likewise updating its internet search engine to be mobile inclined with the very same strict demands on sites to be accorded greater SERPs. Such online needs have actually created some craze among web companies in a rush to upgrade or update their sites to be mobile friendly in order to win more clients and Google's favor in greater websites rankings.

A shift in focus is now being experienced online by companies that wish to remain appropriate in the marketplace. This is turning on a mobile transformation where much better company returns originate from well created mobile friendly web company websites.

Emergence of Mobile Revolution

Mobile innovation takes place to be at the doorstep without much notification. Advanced mobile phones began emerging to draw in customers far and near in addition to old and young. Mobile phones emerge in numerous designs with elegant interaction functions and vibrant apps for online activities.

This is because of the fast mobile innovation advancement with a growing number of mobile users having their mobile phones around them 24/7. The digital world is presently affected with a strength that is never ever experienced prior to where enormous web traffic is now possible and accommodated on the Web and by means of mobile phones.

Mobile phones and iPhones are now affecting customers with vibrant mobile apps that permit fast Web access all the time making use of flexible information strategies and vibrant network company.

Companies today are recognizing the significance to have mobile friendly sites as more mobile users are "all over" to be possible leads that would benefit their profits through strategic marketing methods. They would have to welcome a mobile friendly or mobile suitable site to remain appropriate in today's quick altering market patterns.

Embracing a Mobile Friendly Site

Companies today recognize that a mobile friendly or mobile suitable site is an effective marketing platform that makes it possible for business brand and services or items to be all over in the market. It would be easily accessed by web customers at anytime from anywhere at their benefit as customer habits modifications all the time.

A mobile suitable web company website has the ability to develop company reliability and consumer relationships with a fantastic chance to develop market authority in the particular market. More traffic might be produced and directed to the web company website to protect prospective leads that improve company branding and results.

Mobile innovation offers a host of vibrant devices to create a mobile-compatibility site quickly such as mobile software application and systems to guarantee a smooth change from standard site designs or structures.

As market competitors enhances extremely, modern-day companies have to welcome a mobile friendly site to be competitive and continue to be pertinent in the market; otherwise, they would be left as mobile users are quickly tempted by mobile friendly sites to perform their everyday browsing and company deals through mobile phones.

Well created mobile suitable sites would have integrated internet browsers for a fast and smooth connection and access from mobile phones. An exceptional mobile site design would render all contents efficiently even on the reasonably low resolution on the mobile phone's little screen.

A more expert appearance is attained by means of a mobile site design as much better site designs are executed. Customers would likewise end up being pleased to be more positive to the brand and business as the business embraces brand-new modifications taking place on the planet to accommodate customer requirements and choices.

Advantages of a Mobile Friendly Site

A mobile or mobile-compatible friendly site empowers business to be "all over". As the variety of mobile users enhances in the market, the variety of prospective company potential customers enhances proportionally to benefit companies.

The emerging vibrant mobile apps enable mobile users to obtain onto mobile friendly sites easily and rapidly to browse and look for preferred details and make instant online purchases to increase company revenues. Entrepreneur and online marketers have the ability to develop brand-new client relations as they engage and communicate with capacity leads routinely and rapidly by means of a continuously upgraded and intriguing mobile friendly site.

Such mobile friendly websites might improve online user experience with simple viewing and navigations from anywhere at any time as mobile users trigger their advanced mobile phones often. A mobile friendly or mobile suitable site works to ease some site obstacles of old such as needing a computer system or laptop computer which is large and not quickly readily available all the time.

More Google traffic is anticipated with mobile web company websites as mobile users have the tendency to browse the Web often through Google. A high portion of Google users today are utilizing mobile phones to go to the internet rather than the PC. It is not unexpected for more web traffic from social media networking sites as more social media users are commonly engaged on their mobile phones and other mobile gadgets.

When more web customers check out the mobile-compatible website by means of their mobile phones, more chances are created for company collaborations and consumers to broaden the marketplace presence and online presence of the brand and company. Online marketers are "all over" with vibrant monitoring and tracking apps on their marketing projects.

As their web company websites get enhanced to consistent search algorithm modifications by the online search engine looking for upgrades, mobile friendly sites would delight in an unparalleled edge over their market rivals.

Conclusion

This age of mobile innovation produces vibrant devices and options that alter customer habits. Advanced mobile phones and tablets flood the marketplace today to press companies to a mobile friendly or a mobile suitable site that accommodates the altering customer needs and buying patterns.

Competitive companies today might employ expert mobile site designers to update their sites that would allow the growing variety of mobile users to access the site on a smaller sized screen making use of suitable mobile apps.

About the Author: Steve Brown is a champion of small business, entrepreneurial endeavors, and the vibrant American freelance workforce of today's world. He is Founder, CEO, and Chief Inspirational Officer (CIO) of 4 cutting edge companies.