The .NET Framework has been released in version 3.5 and includes features that encompass all facets of Windows, Web, and network development. The .NET Framework 3.5 includes classes, methods, and properties numbering just under 10,000 and complies with the latest Web development standards and has introduced revolutionary technologies used in Windows Vista development, rich media and user experiences, workflow management, security and authorization, and complete distributed communication protocols. The .NET Framework can also be fully extended by developers to create custom classes and types. The functionality of the .NET Framework spans the server, the local workstation, and across the Web. The four primary additions to the .NET Framework as of version 3.0 are Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and CardSpace.
WPF is used to develop elaborate user interfaces like those that adorn Windows Vista and managed advanced media streaming and integration. WCF encompasses the ASP .NET Web Services and .NET remoting functionality that was contained in the .NET Framework 2.0 as well as new communication technologies. WF is used to model complex workflow processes and CardSpace is the embodiment of new security and user authorization functionality.
A frontier that the .NET Framework had not fully extended to is the Web user's browser space (browser). ASP .NET AJAX was developed to improve performance in the browser space by making postbacks and calls between the Web client and server asynchronously and has been a great success. ASP .NET AJAX utilizes JavaScript and new types and controls developed specifically for use with ASP .NET AJAX.
Although ASP .NET and ASP .NET AJAX offer impressive capabilities in the browser, both are heavily dependent upon the ASP .NET page event life cycle, are tightly coupled to the server, and have a tough time competing with advanced, media-rich plugin solutions such as Adobe Flash. Additionally, it is incredibly difficult to create Web applications that offer a consistent experience across all supported browsers and platforms by using ASP .NET and AJAX. In 2006, Microsoft began developing a solution to extend into the browser and offer media experiences more robust than competing plugin solutions.
In order to further extend the .NET Framework and associated functionality into the browser and do so in an extremely competitive manner, Microsoft introduced Silverlight (originally referred to as WPF/E). Silverlight is a free plugin that the user downloads and it encompasses a subset version of the .NET Framework and WPF. In a manner similar to the JVM, Silverlight functions in the browser within the boundaries of the "sandbox". The sandbox is a secure zone installed into the browser that accommodates Silverlight functionality while completely protecting the host platform from any possibly adverse actions performed by Silverlight.