Saturday, May 15, 2010

Ah Microsoft!

So I am trying to update my contact application. I have really been maintaining the xml directly that is a little sad. So as I am about to try the new Visual Studio (2010) I am thinking what better way to get acquainted than to update the little application and finally out enough in there that I won’t be the only one using it.

Time to discover as usual Microsoft changed everything since last time I cared. I do miss Java sometimes.

For starter, there is still not a very good way for me to store a simple database in an xml format. Entity Framework, Linq to XML, ADO.NET (those I the ones I know of) are of no help. Object serialization seems to be the only way to get it done.After all this time I can’t believe there is still nothing there do encourage the use of simple file format as the database. You can have SQL Server and you are ok but who wants that for a simple list of contacts.

Then I am looking at the application framework. So I played with Smart Client before, it was ok. Just a little too complicated for a simple application. So now I am having another look and ouch. We have PRISM (new version of smart client as far as I can tell), MEF MAF, Unity. What is a man to do? I also now discover that we have new patterns MVVM, which seems to be been created specifically for WPF (and Silverlight). Now as much as I like the separation of concerns for building an application (who has ever heard of a developer with good eye for graphics), I cannot help wonder about a new technology which requires its own new pattern (and the other ones were pretty generic to start with). The caveat of course is that if you are doing ASP.NET then you can stick with the MVC framework they have created for it.

Now one of the benefit of going with Microsoft technologies is a unified environment (as opposed to Java where everyone wants to create their own framework). If you try to apply good practices, you first need to research all the stuff Microsoft has in progress and then check 3rd party vendors one. That is already a 6 months project. You need a team just to check where we are at, what is not quite finished and where you think it is all going. You will have an aversion to use 3rd party products because Microsoft will come up with something which will kill competition and they will not exist next year. Even Java seems to have standardized on SpringFramework (for the most part only of course).
It should be easy to get started, but anything you create with the tools out of the box seems to be rooted in the 1980s. You just cannot write anything that looks good at of the box. Again, you need to look into 3rd party controls because you don’t even get a decent grid (sorting, grouping with icons) with the regular tools. I think Microsoft is slowly eroding their best competitive advantage. A set of unified tools for you to program the Microsoft world. Is Office 2010 using .NET as the macro language yet or is it still stuck with VBA?

No comments: