Original author(s) | Microsoft |
---|---|
Developer(s) | Microsoft |
Initial release | 1996 |
Final release | 2013 |
Written in | C, C++ |
Operating system | Microsoft Windows, Solaris, Classic Mac OS, macOS |
Platform | x86 |
Included with | Internet Explorer, Microsoft Office, Microsoft Visual Studio, and Windows Media Player etc. |
Predecessor | OLE 2.0 and COM |
Type | Software framework |
ActiveX is a deprecated software framework created by Microsoft that adapts its earlier Component Object Model (COM) and Object Linking and Embedding (OLE) technologies for content downloaded from a network, particularly from the World Wide Web. [1] Microsoft introduced ActiveX in 1996. In principle, ActiveX is not dependent on Microsoft Windows operating systems, but in practice, most ActiveX controls only run on Windows. Most also require the client to be running on an x86-based computer because ActiveX controls contain compiled code. [2]
ActiveX is still supported in the "Internet Explorer mode" of Microsoft Edge (which has a different, incompatible extension system, as it is based on Google's Chromium project). [3]
ActiveX was one of the major technologies used in component-based software engineering. [4] Compared with JavaBeans, ActiveX supports more programming languages, but JavaBeans supports more platforms. [5] ActiveX is supported in many rapid application development technologies, such as Active Template Library, Delphi, JavaBeans, Microsoft Foundation Class Library, Qt, Visual Basic, Windows Forms and wxWidgets, to enable application developers to embed ActiveX controls into their products.
Many Microsoft Windows applications—including many of those from Microsoft itself, such as Internet Explorer, Microsoft Office, Microsoft Visual Studio, and Windows Media Player—use ActiveX controls to build their feature-set and also encapsulate their own functionality as ActiveX controls which can then be embedded into other applications. Internet Explorer also allows the embedding of ActiveX controls in web pages.
Faced with the complexity of OLE 2.0 and with poor support for COM in MFC, Microsoft simplified the specification and rebranded the technology as ActiveX in 1996. [6] [7] Even after simplification, users still required controls to implement about six core interfaces. In response to this complexity, Microsoft produced wizards, ATL base classes, macros and C++ language extensions to make it simpler to write controls.
Starting with Internet Explorer 3.0 (1996), Microsoft added support to host ActiveX controls within HTML content. If the browser encountered a page specifying an ActiveX control via an OBJECT
tag (the OBJECT
tag was added to the HTML 3.2 specification by Charlie Kindel, the Microsoft representative to the W3C at the time [8] ) it would automatically download and install the control with little or no user intervention. This made the web "richer" but provoked objections (since such controls, in practice, ran only on Windows, and separate controls were required for each supported platform: one for Windows 3.1/Windows NT 3.51, one for Windows NT/95, and one for Macintosh F68K/PowerPC.) and security risks (especially given the lack of user intervention). Microsoft subsequently introduced security measures to make browsing including ActiveX safer. [9]
For example:
ActiveX was controversial from the start; while Microsoft claimed programming ease and good performance compared to Java applets in its marketing materials, critics of ActiveX were quick to point out security issues and lack of portability, making it impractical for use outside protected intranets. [10] The ActiveX security model relied almost entirely on identifying trusted component developers using a code signing technology called Authenticode. Developers had to register with Verisign (US$20 per year for individuals, $400 for corporations) and sign a contract, promising not to develop malware. Identified code would then run inside the web browser with full permissions, meaning that any bug in the code was a potential security issue; this contrasts with the sandboxing already used in Java at the time. [11]
In October 1996, Microsoft released a beta version of the ActiveX Software Development Kit (SDK) for the Macintosh, including a plug-in for Netscape Navigator on the Mac, and announced its plan to support ActiveX on Solaris later that year. [12] Six months and two more beta releases later, there had yet to be any commercially available Macintosh ActiveX plugins. [13]
In 1997, NCompass Labs in cooperation with Microsoft released a plug-in for Netscape Navigator to support ActiveX. [14]
Documentation for ActiveX core technology resides at The Open Group and may be read for free. [15]
Despite Microsoft's previous efforts to make ActiveX cross-platform, most ActiveX controls would not and will not work on all platforms, so using ActiveX controls to implement essential functionality of a web page restricts its usefulness. The government of South Korea, in a software-agnostic gravitating move, started in circa 2015 to remove the technology from their public websites in order to make their web site accessible to more platforms. [16]
While Microsoft made significant efforts to push the cross-platform aspect of ActiveX by way of publishing the API, ultimately the cross-platform effort failed due to the ActiveX controls being written in C or C++ and being compiled in Intel x86 Assembly language, making them executable only on Windows machines where they can call the standard Win32 APIs. [17]
Microsoft dropped ActiveX support from the Windows Store edition of Internet Explorer 10 in Windows 8. In 2015, Microsoft released Microsoft Edge, the replacement for Internet Explorer, with no support for ActiveX; this event marked the end of ActiveX technology in Microsoft's web browser development. [18] Microsoft Edge ships with the "Internet Explorer mode" feature, which supports ActiveX.
Microsoft has developed a large number of products and software platforms using ActiveX objects. They are still used (e.g., websites still using ASP):
JavaScript, often abbreviated as JS, is a programming language and core technology of the Web, alongside HTML and CSS. 99% of websites use JavaScript on the client side for webpage behavior.
Java applets are small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode.
Internet Explorer is a retired series of graphical web browsers developed by Microsoft that were used in the Windows line of operating systems. While IE has been discontinued on most Windows editions, it remains supported on certain editions of Windows, such as Windows 10 LTSB/LTSC. Starting in 1995, it was first released as part of the add-on package Plus! for Windows 95 that year. Later versions were available as free downloads or in-service packs and included in the original equipment manufacturer (OEM) service releases of Windows 95 and later versions of Windows. Microsoft spent over US$100 million per year on Internet Explorer in the late 1990s, with over 1,000 people involved in the project by 1999. New feature development for the browser was discontinued in 2016 and ended support on June 15, 2022 for Windows 10 Semi-Annual Channel (SAC), in favor of its successor, Microsoft Edge.
Netscape Navigator is a discontinued proprietary web browser, and the original browser of the Netscape line, from versions 1 to 4.08, and 9.x. It was the flagship product of the Netscape Communications Corp and was the dominant web browser in terms of usage share in the 1990s, but by around 2003 its user base had all but disappeared. This was partly because the Netscape Corporation did not sustain Netscape Navigator's technical innovation in the late 1990s.
JScript is Microsoft's legacy dialect of the ECMAScript standard that is used in Microsoft's Internet Explorer web browser.
A browser war is a competition for dominance in the usage share of web browsers. The "first browser war" (1995–2001) consisted of Internet Explorer and Netscape Navigator, and the "second browser war" (2004-2017) between Internet Explorer, Firefox, and Google Chrome.
This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.
Trident is a proprietary browser engine for the Microsoft Windows version of Internet Explorer, developed by Microsoft.
A Rich Internet Application is a web application that has many of the characteristics of desktop application software. The concept is closely related to a single-page application, and may allow the user interactive features such as drag and drop, background menu, WYSIWYG editing, etc. The concept was first introduced in 2002 by Macromedia to describe Macromedia Flash MX product. Throughout the 2000-s, the term was generalized to describe browser-based applications developed with other competing browser plugin technologies including Java applets, Microsoft Silverlight.
Internet Explorer for Mac was a proprietary web browser developed by Microsoft for the Macintosh platform to browse web pages. Initial versions were developed from the same code base as Internet Explorer for Windows. Later versions diverged, particularly with the release of version 5, which included the cutting-edge, fault-tolerant and highly standards-compliant Tasman layout engine.
Mozilla Firefox has features which distinguish it from other web browsers, such as Google Chrome, Safari, and Microsoft Edge.
Netscape Plugin Application Programming Interface (NPAPI) is a deprecated application programming interface (API) for web browser plugins, initially developed for Netscape Navigator 2.0 in 1995 and subsequently adopted by other browsers.
Microsoft developed 11 versions of Internet Explorer for Windows from 1995 to 2013. Microsoft also developed Internet Explorer for Mac, Internet Explorer for UNIX, and Internet Explorer Mobile respectively for Apple Macintosh, Unix, and mobile devices; the first two are discontinued but the latter runs on Windows CE, Windows Mobile, and Windows Phone.
Microsoft Internet Explorer 3 (IE3) is the third, and by now, discontinued, version of the Internet Explorer graphical web browser which was announced in March 1996, and was released on August 13, 1996 by Microsoft for Microsoft Windows and on January 8, 1997 for Apple Mac OS. It began serious competition against Netscape Navigator in the first Browser war. It was Microsoft's first browser release with a major internal development component. It was the first more widely used version of Internet Explorer, although it did not surpass Netscape or become the browser with the most market share. During its tenure, IE market share went from roughly 3–9% in early 1996 to 20–30% by the end of 1997. In September 1997 it was superseded by Microsoft Internet Explorer 4.
Microsoft Silverlight is a discontinued application framework designed for writing and running rich internet applications, similar to Adobe's runtime, Adobe Flash. While early versions of Silverlight focused on streaming media, later versions supported multimedia, graphics, and animation, and gave support to developers for CLI languages and development tools. Silverlight was one of the two application development platforms for Windows Phone, but web pages using Silverlight did not run on the Windows Phone or Windows Mobile versions of Internet Explorer, as there was no Silverlight plugin for Internet Explorer on those platforms.
An Internet Explorer shell is any computer program that uses the Internet Explorer browser engine, known as MSHTML and previously Trident. This engine is closed-source, but Microsoft has exposed an application programming interface (API) that permits the developers to instantiate either MSHTML or a full-fledged chromeless Internet Explorer within the graphical user interface of their software.
Blackbird was the codename for an online content authoring platform developed by Microsoft in the mid-90s. Intended to be the online publishing tool for the first version of MSN, "Blackbird" was born of a Microsoft acquisition of Daily Planet Software, and the tool was first conceived prior to the advent of the Internet and Web as we know it today. At the time, AOL and CompuServe were the primary online venues, and the introduction of the Web to mass consumers was about to begin, even as low-bandwidth, dialup connections dominated. "Blackbird" was based on the concept of an object-based backend file system in Microsoft Data Centers, a low-bandwidth-streaming rendering client with page-based layout and embedded interactive client-side ActiveX objects. Fundamentally, it was based on the SGML standard for client-side layout. It became a Microsoft-promoted alternative to HTML for a brief time, just as the commercial Internet and Web Browser were born. But with scripting capability for HTML yet to be demonstrated, it was to be a means to serve dynamic, media-rich applications and documents that contained processing logic, similar to what a user would experience in a desktop environment. Pages in a "Blackbird application" would be able to contain video, audio, graphs, and other OLE based document formats without the need of plug-ins.
An Internet operating system, or Internet OS, is any type of operating system designed to run all of its applications and services through an Internet client, generally a web browser. The advantages of such an OS would be that it would run on a thin client, allowing cheaper, more easily manageable computer systems; it would require all applications to be designed on cross-platform, open standards; and would not tie a user's applications, documents, and preferences to a single computer, but rather place them in the Internet cloud. The Internet OS has also been promoted as the perfect type of platform for software as a service.
The Active Platform was the name of a development platform released by Microsoft in the 90s for creating web applications and delivering them to a PC desktop environment. The platform consisted of three parts: ActiveDesktop, which would use push technology to deliver the web applications to the desktop; ActiveServer, which would provide server side scripting; and ActiveX, a set of technologies created to allow software components on different machines to communicate with each other using COM and OLE.
The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface.
The term ActiveX surfaced in the Microsoft world in early 1996.
Microsoft Corp. today announced ActiveX … Technologies, which make it easy for the broadest range of software developers and Web designers to build dynamic content for the Internet and the PC. … ActiveX Technologies form a robust framework for creating interactive content using software components, scripts and existing applications. Specifically, ActiveX Technologies enable developers to build Web content easily using ActiveX Controls (formerly OLE Controls), active scripts and active documents. … ActiveX Technologies are available in the form of the Microsoft ActiveX Development Kit, which is being distributed to more than 4,000 developers attending the Professional Developers Conference in San Francisco today.
ncompass activex plugin.