Android & Windows from Developers Perspective

Wednesday, September 03, 2014

Mr A and Mr W helps us to understand respective OS from Developers Perspective and Expectation.

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. Then we will leave the Discussion on viewers/users discretion.

The Store
Google - Google's store is called Google Play, it contains seven hundred thousand applications, downloaded twenty five billion times all over the world.

Windows - 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.

Google: In order to publish Android applications, you need to have a Google Play account, which will cost you 25 USD.

Windows: There are two kinds of accounts: a developer account which will cost you 49$ and an Enterprise account which will cost you 99$.

Google: In order to publish your app under Google play, you have to pass through a validation process which takes only 15 to 30 minutes. Google says Malware Found

Windows: 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.

Conclusion: Yes, 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. However that’s not case for Windows, it is Secure and the Apps trusted.
Devices
Google: Do you know that Android has the highest number of devices? Those devices are made by a big number of manufactures like Samsung, LG, Motorola, Google, Micromax etc. So there is a wide variety of devices running under Android from low to high quality. And anyone can get an Android device.

Windows: There are well known companies that embed Windows Phone for their devices like Nokia, Samsung, 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.
IDE
IDE - Integrated Development Environment. To start developing Windows Phone 8 applications, you will need Visual Studio 2012 Express and For Google its Eclipse.

Google: 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.

Windows: 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.

Google: Requirements are not the same 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.

Windows: 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.

Google: Windows 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.

Windows: 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.
Emulator
Emulator - The emulator lets you develop and test applications without using a physical device, a  tool for developers.

Google: 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.

Windows: The Windows Phone emulator runs fast. It uses hyper-v for virtualisation. That gives a good impact on its responsiveness.
UI Design
UI Design – It has a good impact on Developers mind

Windows: 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 behaviour of your design at design-time.

Google: 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.
Tablets
Windows: Windows tablet does not run Windows Phone OS but it runs under Windows RT. Windows RT 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 Windows 8 APIs. So you can easily share your code between Windows Phone and Windows 8.

Google: 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 funnier on tablet the mains components added were Action Bar and Fragments.
Conclusion
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.

No comments: