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!

5 thoughts on “xlang

  1. Máté

    Does this mean ultimately you wish to implement WinRT on platforms other than Win8/10? Or does this project aim being able to define C++/WinRT-like libraries with some language bindings in a cross-platform manner? Sort of like how the Vulkan bindings are generated from an XML, you wish to generate them from another standard? Could this project generate C++ bindings to .Net assemblies and vice versa? C#/F#/PS bindings to an API implemented in C++?

    Sorry for the dumb questions, but this summary was a little too dense for me.

  2. Chawathe, Vipul S.

    When I read cross-platform from the last post, I was anticipating 0-day readiness for Fuchsia that Google appeals to me to be the 5G networks timeframe successor to its 4G timeframe Android. This open source solution might be even better! Thanks, Kenny for just being yourself.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s