지금은 자바스크립트로 할 수 있는 것들이 많았지만 막상 자바스크립트가 등장할 때는 자바스크립트는 웹 페이지 상호작용을 위한 스크립트언어였습니다.
그때에는 웹으로 비디오를 담아올 수 없었습니다.
그러한 자바스크립트의 한계를 넘어서기 위해 만들어진 비슷한 것이 하나 있었으니 그것은 바로 ActiveX.
자바스크립트가 말 그대로 스크립트 언어였던 시절, 웹 브라우저에서 다양한 기능을 만들기 위해서는 브라우저에서 지원하는 플러그인을 사용해 기능을 제작해야 했습니다.
이때 ActiveX는 윈도우용 어플리케이션인 .exe파일을 Internet Explorer에서도 돌아갈 수 있게 한 혁신적인 플러그인이었습니다.
1996년에는 자바스크립트(1995년 출시)는 말 그대로 단순 스크립트 언어였기 때문에 오디오나 비디오를 재생할 수 없는 등 당시 html과 자바스크립트로는 할 수 있는 것이 굉장히 제한적이었습니다.
00년도에 우리가 웹에서 어도비 플래시나 자바 애플릿 같은 리치 인터넷 어플리케이션을 돌릴 수 있었던 이유도 ActiveX 덕분이었습니다.
ActiveX는 사용자 시스템에 통합되어 있는 형태라,
악성 코드가 ActiveX 컨트롤을 통해 쉽게 침투할 수 있습니다. 이는 시스템의 전반적인 보안에 큰 위협이 됩니다.
특히, ActiveX 컨트롤이 디지털 서명이 없거나 신뢰할 수 없는 출처에서 배포되면, 사용자 컴퓨터에 심각한 보안 취약점을 초래했습니다.
ActiveX는 주로 Internet Explorer에서만 작동하도록 설계되어 있습니다. 따라서 다른 웹 브라우저(예: Chrome, Firefox, Safari)와의 호환이 되지 않았고,
이로 인해 특정 웹사이트나 애플리케이션이 ActiveX에 의존하는 경우, 사용자는 Internet Explorer를 사용해야만 했습니다.
ActiveX는 Windows 운영체제에 종속적입니다. MacOS, Linux 등 다른 운영체제에서는 지원되지 않습니다.
이로 인해 다양한 운영체제를 사용하는 사용자에게 일관된 사용자 경험을 제공하기 어렵습니다.
ActiveX 컨트롤 설치 과정이 복잡하고 사용자를 불편하게 만들었습니다.
사용자는 각종 보안 경고와 설치 프롬프트를 여러 번 확인했으며,
이러한 과정은 비전문 사용자에게 혼란을 주었고 웹사이트를 이용하기 힘들게 만들었습니다.
예를 들어서 한국에서는 이상한 방향으로 이를 활용했는 데
ActiveX를 이용해 보안 프로그램을 설치하고, 사용자 인증 및 금융 거래를 처리했고
정부 웹사이트에서 공인 인증서 기반 로그인 및 전자 서명 등을 ActiveX로 구현했습니다.
그리고 시간이 흐르고 기술이 계속해서 발전해도 우리가 ActiveX를 욕했던 이유는 보안 문제점이 많고 사용하기 불편했던 거를 고치지 않고 계속 방치했던 것 때문이었습니다.
이후 웹 표준이 등장하고 html과 자바스크립트에서 할 수 있는 것들이 굉장히 많아지게 되면서
ActiveX는 한때 웹 브라우저에서 더 강력한 기능을 제공하기 위해 고안된 혁신적인 기술이었습니다. 이를 통해 웹에서 비디오 및 오디오 재생, 리치 인터넷 애플리케이션 실행 등의 기능을 구현할 수 있었습니다. 그러나 웹 표준 기술의 발전과 함께 ActiveX의 사용은 점차 줄어들게 되었습니다.
2022년 이후로 IE는 더 이상 지원이 끊기고 MS는 주력 브라우저를 Edge로 옮겼습니다.
지금 쓰이고 있는 메이저 브라우저를 비롯해서 MS에서 제작한 Edge에서 마저도 ActiveX를 전혀 지원하지 않는 걸 확인할 수 있듯
지금은 이러한 장점보다 성능과 호환성, 보안 상의 이유 그리고 웹 표준을 준수하지 않으므로 더 이상 선택되지 않습니다.
따라서, ActiveX는 더 이상 현대 웹 개발에서 선택되지 않으며, 대신 표준 웹 기술을 활용하여 안전하고 일관된 사용자 경험을 제공하는 것이 중요합니다.
웹 어셈블리를 배우는 과정속에서 예전에 wasm과 비슷한 개념이 있지 않았었나 문뜩 생각이나 한 번 정리해본 글입니다. 부정확한 내용이 있을 수 있습니다.