Back in July I hinted at the fact that I have started working on a new project that builds on C++/WinRT. Well that project is finally out in the open and it’s called xlang: a cross-language, cross-compiler, and cross-platform generalization of WinRT. It has no dependency on Windows or even WinRT and thus sports an open source PAL. Think of it as WinRT but with much greater reach, potentially supporting Windows 7, Linux, Apple platforms, and more.
It’s far from done but we are developing it in the open, so you will be able to follow along, provide feedback, and even contribute your own language projections and platform support. I will share more information once there’s more there that works, but feel free to reach out and let me know what you think. Just to set expectations, none of this is ready to replace C++/WinRT just yet. My main goal right now is to reach feature parity with C++/WinRT. At that point I will share more information and explain how the xlang tools and libraries work to generate projections and much more. If you’re impatient, xlang already includes a metadata reader that provides an incredibly fast and portable abstraction over the ECMA-335 format that sits at the heart of both WinRT and now xlang. I started writing a new metadata reader in portable C++ long before this project got started as it’s so fundamental to this whole space. It is thus quite mature, and you can have a lot of fun with it. Happy coding!