I'm really curious is here a way to escape double codebase to support Windows Desktop and WinRT component. Currently, using existing COM objects is blocked in metro style applications. Then, what would be the best way to organize the same functionality for two modes? Can I use WinRT components in Desktop mode?
Let's say I have a legacy calculator server for Windows desktop, implementing an interface ICalculator with a methods Add and Multiply. Is there a legal way to support one server engine for it, besides TCP connection, or I should totally divide these both worlds and supply two sets of engines? What if my server is quite heavy to distribute in two modes?