With the recent launch of Windows 8 and Windows Phone 8, it is a great opportunity for App Developers to target these platforms. Both of these platforms provide multiple options to App Developers in terms of Programming Language and frameworks. Some of the languages and framework options are common across these platforms and hence facilitate cross platform development. If you are an App developer who would like to develop Apps for both these platforms then you should think about cross platform development. Think about Portable Common API Layer and minimal platform specific Layer. This will reduce development effort and increase consistency and maintainability. Let us analyze what option we have.
Following are the all Language + Framework options provided for both of these platforms
The Options you have depends on the what kind of App you are making
If you want to make form based Applications with Event Driven User Controls like buttons, textboxes and labels then XAML is your best bet.
You can read about this in more detail here Cross Platform Development : Windows 8 and Windows Phone 8 : C# + XAML
If on the other hand you are interested in 2D and 3D Graphics Intensive Apps like Games then Direct3D is the way to go.