I’m a Microsoft Student Partner for three years and I’m starting my start-up which is a Microsoft partner too, so basically I’m a .Net user and in particular I’m developing mobile application for the windows phone 7 operating system, but recently I have been doing some projects for the Android operation system. Anyone with my Microsoft background will start doing some marketing for Microsoft technologies describing them as the best solutions ever, today I’m not doing that also what I’m not doing is describing android as the shiny white knight that save me from Microsoft hell. I’m just going to talk about my little experience using both technologies.
To begin with I would like to compare the IDE in other words Visual Studio vs eclipse, eclipse is good for an open source product but VS is great, starting with the design, visual studio have much better user interface than eclipse. Also VS provide better debugging options and tools even the break point are better and clearer, because after 8 hours of programming you don’t really like to fetch for little blue points that eclipse call break points, furthermore visual studio handles better the manipulation of the UI elements drag an drops and provide a nice property tool box that you can use it to customize the UI element as you like, with android it’s another story where UI elements jumps everywhere in the window taking strange positions all over the place which is really missy, and after spending all that time fixing them sometimes at runtime you get a view completely different from what you have at design time. Also visual studio provides a lot of tools helping developers to increase their productivity like creating code snippets, measuring application performance, managing projects, generating graphs…May be all those tools exist with eclipse but you really need to look for them in the web figuring out how to add them and use them which is not very productive, the visual studio philosophy is delivering an environment that empower developers and let them focuses only on the code and the application, Microsoft actually did that very well where eclipse is still have a lot to hit that point so let’s give WP7 one point for the IDE.
Next I would like to compare the views creation process, I’m not going to compare android xml vs Microsoft XAML because I think they are the same, both are just structured XML but I would like to talk about expression kit for wp7 where by the time I just finished creating all the xml that I need to just change an android button color, with expression blend I already created an animated awesome user interface. Manipulating xml is not easy specially for non-developers witch make creating great user interfaces with android harder, In the other hand using blend for wp7 it’s just like using Photoshop where designers can feel free to do everything basically with the mouse without having to write any XAML, and after creating those views developers can and add all the code they want using visual studio. By the way expression kit is free so I will have to give wp7 another point.
Now let’s compare the functionalities that both OS provides for developers, I think android is 100 year in advance comparing to wp7. Windows phone 7 provide only some basic functionalities and of course it’s all closed so you have to wait for Microsoft to add any functionality that you may need, but with android you can pretty much find anything you need for your application and even if Google doesn’t provide it, you can easily find someone somewhere figure out how to add that functionality and blog it. Microsoft has announced the new version of wp7 Mango providing better functionalities like the support of sqlite witch it was supported by Android three years ago so even Mango can’t stand in front of android in term of functionalities provided for developers, so let’s give android one point for the functionality.
So until now wp7 is the winner but let’s talk about android community vs wp7 community, but wait a second do wp7 even have a community besides few Microsoft partners (student or professionals) that are pretty much influenced by the Microsoft marketing. Android community is very big very strong and I think it’s the most powerful thing android have. If you got any kind of problem that you can’t figure out how to solve it, just google it and you will find thousands of posts dealing with that same problem so even an android beginner like me can easily create great things just by looking for them in the internet, with wp7 you can only find some few posts nothing serious and even in the forums developers end the discussion with that phrase :“I think I’m going back to android” , so not only wp7 doesn’t have a large community but they are losing them right now, to give an example the last time I spent three days fixing a problem that takes only 2 or 3 hours if I was using android. The community is very important factor for the success of any technology and to increase the productivity of any developer, because when you are a part of strong community you feel safe and you feel capable of solving any problem. Maybe Microsoft has the best developers but even Microsoft engineers could never much the force of the community. So in this point android will get 100 points and bit up wp7.
I will finish by comparing the technology owners Microsoft and Google. I can’t trust Microsoft any more even if they have better support and better documentation than Google have. Microsoft has killed four technologies in just four years: windows phone 6, Silverlight (that was announced as the future of the web, many start-ups has been established to create application using that technology and now they have nothing to do anymore),WPF and XNA so it will be no surprise if Microsoft announce next year the death of the wp7.And I don’t trust Google either but I really trust the community because I think that Google doesn’t own android any more Google is just a part of a big community and the real owner of android is android people this is why it will be there for some time so let’s give android another point for that.
It is obviously that 2012 is android year, and I can’t say anything else otherwise I will be a layer or illusionist, but android community must learn from Microsoft philosophy providing better tools to developers and designer, also Google can provide better documentation and support for android and finally the community must really watch out from those guys at Redmond because they are not letting go that market easily specially after the failure of many projects like(Azure cloud) and they will do anything to be the number one after all no one knows what will happen in 2015.