在过去的若干年里,涌现出了一大批以改善网站的最终用户体验为目的的技术和编程方法。起始于HTML格式的静态内容的页面迅速地演变为以ASP.NET等技术所支持的动态页面。有了这些动态页面,开发人员最终得以把真正的应用程序搬到Web上。很快,在更多的增强技术(如AJAX)的带动下,完全面向业务逻辑的应用程序从桌面搬到了Web上。然后,这些技术有一个共同的问题——依赖于不同浏览器的JavaScript代码。一个很常见的现象就是,开发人员单单地为一个浏览器而开发网页,而这个网页却在另一个浏览器上噩梦般地无法正常工作。尽管经过足够的工作来改良甚至重写代码可以解决这个问题,但这些基于Web的应用程序从来没有像对应的桌面应用程序那样可以平滑而高效地运行。这就是为什么一种诸如Silverlight的技术诞生于世。