This is a follow up to my previous post Create a Metro App in F# (NOT).
Things become quit complex if you want to reuse your windows legacy software. In this case legacy has a positive connotation. Legacy software is an asset of you and/or your company.
Suppose one want to reuse it and make it available for a Metro app on Windows 8 what are your options? After watching some of the build presentations:
- Windows Runtime internals: understanding "Hello World" by Matt Merry
- Being pragmatic by leveraging existing code in Metro style apps by Jason Olson
- A .NET developer's view of Windows 8 app development by Krzysztof Cwalina
- Ten Tips When Writing a Hybrid Language Metro style Application by Brent Rector
- Using the Windows Runtime from C# and Visual Basic by Harry Pierson and Jesse Kaplan
I came up with the following flow chart:
- I am not an expert on C++, COM, etc. so I do not know.
- If you have only a dll you cannot use it.
- If you have source code that references a language dll (like F#) or have no options today. This will change when the final product becomes available.
- non WinRT types
- non sealed classes
- non system provided generic types
- If you want to create a Metro Style project and this is one of the .NET languages you can reuse your components code by fixing issues and recompile it to a dll. Some issues can be:
Disclaimer: This is my current understanding, based on the presentations I viewed. If you have other information available please leave a note in the comments.