Metro Style Apps in Win 8

Metro style apps in Win 8 is going to become a big hit especially with the developer community and especially with Microsoft promoting these apps in a major way through its Windows store....only good things are in store for most of us. Metro apps basically works seamlessly on top of the following languages which MS is trying to revolve the developer community with. Those languages are C#/VB, C/C++ and Javascript. The structure of  metro apps is in the following fashion:
If we were to design an website to perform some sort of task such as displaying information from a database. The HTML and CSS page can be developed with any sort any editor (prefer Visual Studio 2012 to display the info.... or even Blend). But once the page is developed you will have to explicitly define function calls to the WIN RT layer which provides a host of API's to seamlessly integrate the application with the OS. Somewhat of a framework on top of a framework.

The next aspect is about the projections that these Metro Apps make. Like I had explained once a long time back on how the .net framework was like an onion with layers and layers of skin and each layer signifying a specific functionality within the framework.Once a language projection is created you consume the WINRT API's. But what is this projection???? I hope the below diagram gives a more reasonable explanation. The C/C++/C#/VB.Net run in the same manner in which they are created, however once it is projected onto the WinRT, the WinRT contains metadata to understand more about the type of projection it has been provided and has a seperate metadata layer to interact with. Well a projection can be defined as hologram (or virtual entity) of your program on top of the WinRT framework. Basically it is similar to a projector projecting an image on a screen. Let me show this with an image (an image is worth a 1000 words.... hopefully it should be the case with this one as well :) )





Redundancy has been removed from the WINRT library so that it does not perform the same operations as the base class libraries. Also portable class library allows fluidity of moving and sharing code between various platforms based on the view model design pattern. Extension methods bridge the gap between WINRT and the native base class library.
There is the new concept of winmd files that target the .net runtime directly. So there is no requirement for applications to refer to dll's but they can refer to winmd files directly. The winmd file represents the WINRT API. Also this benefits smoother deployment between different environments (environments in this case involve dev/test/prod etc...). Well that sums up my post on Win 8 Metro style apps for now. And by the way won an XBox game at the Win 8 Hackathon yahooooooo!!!!!!

Comments

Popular posts from this blog

An Agile process evaluation

My entry into ET Prodigy

Rhino - ETL