I'm Houssem Dellai: a Windows Phone developer and my colleague Zied Jaballah: an Android developer.
We wrote this article together for our session on the droidcon international conference in tunis.
This article is a little special since we are not going to talk only about Android. We will talk also about one of Android's competitors which is Windows Phone. So we will see together a comparison from developers perspective between the two platforms.
So, What are the Topics of this Comparison?
First of all, we will talk about the store and the opportunity for developers to make money. After that, we will see the supported devices for both platforms. Then, we will move to a comparison between Visual Studio and Eclipse. Also, we will pass through each platform's emulator to see how much responsive and helpful they are. After that, we will see Google vs Microsoft design guidelines. And we will finish by talking about tablets.
1 - The Store
Houssem: Let's start with the store and see what the Google guy has for us ?
Zied: Google's store is called Google Play, it contains seven hundred thousand applications, downloaded twenty five billion times all over the world. Houssem, what about Microsoft's store ?
Houssem: Windows Phone Marketplace has more than 130 000 applications. It's not that huge number as Android, but you will find all the applications you need.
Zied: In order to publish Android applications, you need to have a Google Play account, that will cost you 25 USD. For Microsoft, how much do I have to pay to get an account ?
Houssem: There are two kinds of accounts: a developer account which will cost you 49$ and an Enterprise account which will cost you 99$.
Zied: In order to publish your app under Google play, you have to pass through a validation process which takes only 15 to 30 minutes. This is not the case at all in Microsoft !
Houssem: The validation process will take you about 5 days and if your app is rejected, you will get an error report about what you have to change in your app. Zied! I see the word 'malwares' in your slide ?!!
Zied: Yes it's not a mistake Houssem, Google play has a lot of malwares, that's because of the very fast validation process and the huge number of Android developers. In fact it's a policy form Google, instead of validating apps before publishing and having an army of reviewers like Apple and Microsoft does, Google lets you publish your app, then it scans its store for malwares. Last February, Google hit a record and deleted 60 thousand apps from its store.
Houssem: Thank God we don't have malwares in the Windows Phone Marketplace. It's a trusted store!
2 - Devices
Zied: Ok, now let's move to devices. Did you know that Android has the highest number of devices? Those devices are made by a big number of manufactures like Samsung, LG, Motorolla, Google, etc. So there is a wide variety of devices running under Android from low to high quality. And any one can get an Android device. What about Windows Phone?
Houssem: There are well known companies that embed Windows Phone for their devices like Nokia, Sumsung, HTC, LG ... Microsoft wants to give her customer a nice user experience that's why Windows Phone runs under high quality devices. The cost in result is a little bit high.
3 - IDE
Houssem: Until now, we talked about the store and the devices, lets see IDE. To start developing Windows Phone 8 applications, you will need Visual Studio 2012 Express for Windows Phone. It's a free IDE. Zied ! what about Eclipse?
Zied: Eclipse is the most used IDE to develop Android apps, it is a free and open source software and did not have too many requirements ( Zied looks to Houssem :P ).
Houssem: The requirements to run Visual Studio 2012 Express for Windows Phone are a little bit difficult. In fact, there are requirements for hardware and for the OS: for the hardware, you will need a computer that supports hardware virtualisation which is only available on new PCs. For the OS requirements, you will need to have Windows 8, it doesn't work on Windows Seven or Windows XP. Also, you will need to have the right version of Windows 8 which should be a Windows 8 pro or Enterprise version, not the basic version. Not only that, but also you will need to have x64 version of windows 8, not the x32 one.
Zied: So you are saying that you need to be very lucky to meet these requirements, which is not the case for Eclipse because the only requirement that you need is to have a JVM under your OS. In fact, once Eclipse has a JVM, it doesn't care whether the OS is Windows or Mac or Linux ...
Houssem: Visual Studio is well known for giving developers a nice experience: debugging is simple and efficient to use, that helps you to identify errors and fix them quickly.
Zied: Houssem you win in this point, Visual Studio is far ahead of Eclipse in debugging. But which I like the most about Eclipse is the huge number of plug-ins. With Eclipse and some plug-ins, you can do pretty much everything you want. Does VS has plug ins ?!
Houssem: Of course ! VS has many plugins and a lot of them are open source. The nice thing here is that you can search, install and update your extensions from VS. That's a time saver.
4 - Emulator
Houssem: Ok, now let's move to another tool for developers which is the emulator.
Zied: The Android emulator is not so fast and many developers suffered from its slowness. But Google is making a good progress with snapshot option and hardware acceleration for new machines. Also, there is an open source project called Android x80 which runs very fast under a virtual machine and could be an amazing alternative to the emulator. Let's see what the Microsoft's guy has for us ?
Houssem: The Windows Phone emulator runs fast. It uses hyper-v for virtualisation. That gives a good impact on its responsiveness.
5 - UI Design
Zied: Ok, I admit that Android emulator is painful which is not the case with Windows Phone. I admit also that Microsoft products are always well designed!
Houssem: Yes I appreciate your honesty. In fact, Windows uses a new graphic style called modern UI design. It's based on putting "content over chrome" which means that you care more about the content and less about the themes, colors, shapes, etc. The modern UI design has restrictive design guidelines but there are some templates and controls ready to use and they give a nice look to your application. Also if you are a Windows Phone developer or designer, you will enjoy using expression blend. Blend is an IDE dedicated for designers who don't like to have developers tools included in VS. Whenever developer became familiar with those guidelines, then he will be able to do design without need to use designer. Another thing that improves the design experience is the design time data which gives you an overview about the behavior of your design at design-time.
Zied: Design in Android is not appreciated by developers, you have to write a lot of XML to get what you need, the drag and drop tool is not that good. But once you have mastered the design by XML, the limit then will be the sky! Google also has their guidelines but they are not as restrictive as Microsoft.
Up to now, we talked about the store, IDE, emulator, design and devices. By devices, we did not mean only smartphones, there are also tablets.
6 - Tablets
Houssem: Windows tablet does not run Windows Phone OS but it runs under windowsRT. windowsRT is a "light" version of Windows 8 that is dedicated for tablets. It does not run .exe files but only Windows store applications. But there is the Surface Pro which runs Windows 8 and .exe files. I should mention that 80% of Windows phone APIs are from windows8 APIs. So you can easily share your code between Windows Phone and Windows 8.
Zied: Android runs on smartphones, also on tablets. From the 3.0 version, Google added a bunch of APIs for larger screens so that apps will be more funny on tablet the mains components added were ActionBar and Fragments.
To conclude, there are some points where Windows Phone wins, and some other points where Android wins. We'll not say there's a winner! Because we deeply believe it's up to you to decide depending on what you appreciate more.
Talk to us!
You still can discuss with us in the "Comments and Discussions" section below.
This article is available also in Chinese language.