For a long time, developers with expertise in the .NET framework have wanted to be able to create compelling, performant web applications that leveraged the rich .NET environment and its easy-to-use programming languages. It wasn’t impossible, but it always seemed more complex than it ought to be—certainly more complex than delivering similar applications in JavaScript or PHP.