Active Template Library (ATL), precedentemente chiamata ActiveX Template Library) è una libreria di programmi Microsoft (set di routine di programma preconfezionate) da utilizzare durante la creazione di codice ASP (Active Server Page) e altri componenti di programmi ActiveX con C ++ (incluso Visual C ++). Uno sviluppatore di siti Web che desidera inoltrare le richieste degli utenti a un programma nel server Web può scrivere un'applicazione di interfaccia gateway comune oppure, se il server è Internet Information Server (IIS) di Microsoft, può includere uno script nella pagina HTML (Web). La pagina stessa è chiamata Active Server Page (ASP) e ha un suffisso .asp. Lo script nella pagina Active Server viene interpretato ed eseguito sul server prima che la pagina venga inviata all'utente. Un altro approccio consiste nel fare in modo che questo script (scritto in VBScript o JScript di Microsoft) chiami a sua volta un programma compilato, scritto tipicamente in C ++, un sofisticato linguaggio di programmazione orientato agli oggetti. Poiché un programma compilato viene eseguito più velocemente di uno script, la pagina Web verrà formulata più rapidamente e restituita più rapidamente all'utente. Un programma C ++ può anche interfacciarsi più strettamente con il sistema operativo rispetto a uno script, e ci sono molti altri vantaggi. D'altra parte, è più difficile e dispendioso in termini di tempo scrivere un programma in C ++ che scriverne uno in un linguaggio di script.
La libreria Active Template consente al programmatore di creare un oggetto Component Object Model che può essere richiamato dallo script su una pagina ASP. Questi oggetti sono descritti da Microsoft come veloci e dotati di forza industriale. Gli oggetti che puoi creare utilizzando ATL includono controlli completi, controlli di Internet Explorer, pagine delle proprietà e finestre di dialogo.