Windows Vista includes a large number of new application programming interfaces. Chief among them is the inclusion of version 3.0 of the .NET Framework, which consists of a class library and Common Language Runtime. Version 3.0 includes four new major components:
Windows Presentation Foundation is a user interface subsystem and framework based vector graphics, which will make use of 3D computer graphics hardware and Direct3D technologies. It provides the foundation for building applications and blending together application UI, documents, and media content. It is the successor to Windows Forms.
Windows Communication Foundation is a service-oriented messaging subsystem which will enable applications and systems to interoperate locally or remotely using Web services.
Windows Workflow Foundation provides task automation and integrated transactions using workflows. It is the programming model, engine and tools for building workflow-enabled applications on Windows.
Windows CardSpace is a component which securely stores digital identities of a person, and provides a unified interface for choosing the identity for a particular transaction, such as logging into a website.
These technologies will also be available for Windows XP and Windows Server 2003 to facilitate their introduction to and usage by developers and end users.
There are also significant new development APIs in the core of the operating system, notably the completely re-architected audio, networking, print, and video interfaces, major changes to the security infrastructure, improvements to the deployment and installation of applications ("ClickOnce" and Windows Installer 4.0), new device driver development model ("Windows Driver Foundation"), Transactional NTFS, mobile computing API advancements (power management, Tablet PC Ink support, SideShow) and major updates to (or complete replacements of) many core subsystems such as Winlogon and CAPI.
There are some issues for software developers using some of the graphics APIs in Vista. Games or programs which are built on Vista's version of DirectX, 10, will not work on prior versions of Windows, as DirectX 10 is not backwards-compatible with DirectX 9. According to a Microsoft blog, there are three choices for OpenGL implementation on Vista. An application can use the default implementation, which translates OpenGL calls into the Direct3D API and is frozen at OpenGL version 1.4, or an application can use an Installable Client Driver (ICD), which comes in two flavors: legacy and Vista-compatible. A legacy ICD, the kind already provided by independent hardware vendors targeting Windows XP, will disable the Desktop Window Manager, noticeably degrading user experience under Windows Aero. A Vista-compatible ICD takes advantage of a new API, and will be fully compatible with the Desktop Window Manager. At least two primary vendors, ATI and NVIDIA, are expected to provide full Vista-compatible ICDs in the near future. However, hardware overlay is not supported, because it is considered as an obsolete feature in Vista. ATI and NVIDIA strongly recommend using compositing desktop/FBOs for same functionality.