IT이야기/입코딩2017. 4. 28. 09:04

-ASP란 무엇일까요?


웹개발 언어중에, jsp, php는 저번에 알아봤습니다.



그러면 ASP란 무엇인지 한번알아보겠습니다.

프로그래밍의 기본인 Hello world!를 입력해보면 <% Response.Write "Hello, world!" %> 이렇게 되겠죠.

스크립트 엔진(Active Server Page)라고 합니다.Active Server Page의 약자입니다. 

마이크로소프트가 인터넷 정보 서비스(IIS)에서 동적 웹 페이지 생성 용도로 사용할 것을 목적으로 제작한 서버 사이드 스크립트 엔진입니다. 

당연하지만 확장자는 .asp 를 사용합니다.

1996년 출시된 IIS 3.0부터 기본으로 포함되기 시작되었으며, 이후 새 버전의 IIS가 출시될 때마다 같이 버전업이 되었습니다. 

최종버전은 2000년 출시된 IIS 5.0에 포함된 3.0이라고 하네요. 벌써 17년 전이군요.

ASP의 특징은 여러 가지 언어를 지원한다는 것입니다. 

기본적으로 쓰이는 언어는 비주얼 베이직 계열의 VB스크립트지만, 다른 언어를 불러 쓸 수도 있습니다.  주로 JavaScript 기반의 JScript와 Perl 기반의 PerlScript을 사용한다고 하네요.

사람 헷갈리게 만드는것이 PHP나 JSP 등은 그 명칭이 언어 그 자체인데 비하여, ASP는 윈도우에서 지원하는 기존 프로그래밍 언어를 웹에서 쓸 수 있도록 하는 일종의 기술에 가깝습니다. 

이러한 특징은 ASP.NET으로 발전하면서 크게 강화되었는데, .NET 언어 어떤 것이든지 ASP.NET으로 개발이 가능합니다. 

거기다 개발툴이 비주얼 스튜디오라서 윈도우 개발자라면 어렵지 않게 ASP로 개발이 가능하다는 장점이 있습니다.

윈도우 개발자에겐 좋은 일인 반면, HTML - Javascript - ASP(vbscript) 순서를 밟고 온 순수 웹개발자에겐 좌절을 안겨주었다고 합니다. 

순차적 스크립트에 익숙한 사람이 갑자기 객체지향 프로그램을 짜기는 쉽지 않기 때문이라는군요.

비주얼 스튜디오와 묶여 있기 때문에 도움말도 상당히 강력한 편입니다. 

물론 서드파티 개발툴도 상당히 많이 나와 있고, 상용인 비주얼 스튜디오와 달리 오픈소스도 꽤 많이 나와 있습니다.

MS에서 내놓았다는 것에서 눈치챈 사람들도 있겠지만, 이건 윈도우에 최적화 되어 있고 다른 OS는 정식으로 지원하지 않습니다.

물론 이말은 서버OS를 얘기하는거지 클라이언트 OS를 얘기하는게 아닙니다. 윈도우 컴퓨터에서 잘만 보고 즐길수 있지요.

아파치에서 Apache::ASP라는 모듈을 사용하면 아주 제한적으로 PerlScript 기반의 ASP를 구동할 수 있지만, 리눅스 환경에선 PHP, JSP 등의 경쟁자들이 많아서 사용되는 일이 별로 없는거같습니다.

국내에서는 사용자가 많은 편은 아닙니다. 윈도우 서버를 쓸 것이 아니라면 굳이 쓸 이유가 없기 때문이라는군요.

서버용 윈도는 클라이언트용 윈도보다 훨씬 비싸서(2012 R2 기준으로 130만원 정도) 서버 구축 비용도 리눅스에 비해 더 비쌉니다. 

웹호스팅의 경우 지원폭은 JSP보다 넓은 편입니다. 윈도우 웹호스팅이라면 ASP는 기본적으로 지원하고 들어가기 때문이지요. 

2002년에 ASP.NET으로 대체되었다고 합니다. 

ASP는 향후 2020년까지 지원이 예정되어 있고, 현재는 신규 프로젝트에는 거의 쓰이지 않고 있습니다. 


오래된 사이트에 기존에 구축해놓은 솔루션의 유지보수용으로 사용되는 것이 거의 전부라고 하네요.

그럼 ASP.NET에 대해서 잠깐 알아보겠습니다.

ASP.NET이란 2002년에 처음 선을 보인 ASP의 후속작입니다. 그리고 NET 프레임워크 위에서 구동되는 서버 사이드 웹 프레임워크입니다.

닷넷 프레임워크 기반이기 때문에 지원 언어라면 어떤 것이든 사용할 수 있는 것이 특징입니다. 

하지만 기본적으로는 역시 C#, Visual Basic.NET이 많이 사용된다고 하네요.

ASP.NET은 기본적으로 '웹폼'이라 하여, 데스크탑 C#의 윈폼의 웹 버전에 해당하는 방식으로(마우스로 드래그&드롭하여 디자인하고, 이벤트 기반으로 로직을 개발하는) 디자인 및 개발이 이루어졌습니다. 

다만 타 플랫폼의 웹 프레임워크와는 상당히 이질적인 환경이 되어 개발자들이 ASP.NET을 기피하는 현상이 일어났고, 이후 웹 프레임워크에서 친숙한 MVC 패턴으로 개발이 가능한 프레임워크가 발표되었습니다.

ASP와 마찬가지로 윈도우 환경에서만 구동되었으나, 모노 기반으로 타 플랫폼에서도 사용할 수 있도록 되었고, 2016년 발표된 ASP.NET Core(ASP.NET 5.0에서 변경된 명칭)에서는 기본적으로 멀티 플랫폼을 지원하게 변경되었다고 합니다.

전 개인적으로 APS나 ASP.NET은 사용해 본적이 없습니다. 간혹 병원 사이트들이 ASP로 된걸 본적이 있는데 항상 저런 사이트들은 어떻게 만들어지고, 유지보수 되는지 좀 의문이 들더군요.

사실 한국에서는 웹개발자가 JAVA, JSP만 해도 향후 10년은 먹고사는데 지장이없어 보이는 구조이긴합니다만 게시판 정도는 만들수 있게 좀 독학을 해보고 싶네요.

참고사이트 : 나무위키

Posted by Joseph514