This. MS want .Net to run on all platforms. Give developers awesome tooling for free. Let them build. When they deploy, pay for Azure. It has an ongoing usage cost. Xamarin is just part of their tooling.