웹개발 언어별 비교 펌
웹개발 언어별 비교 ![]() ![]() 2015.04.07. 12:13
|
웹개발 분야는 다양한 언어를 제공하고 있다
보통 웹개발 요구가 들어오면 서버 OS를 통해 일반적으로 구분하고 그에 맞게 언어를 선택한다.
보통 개발자의 스킬에 따라서 언어를 선택하고 개발을 지원하지만
기업마다 서버OS에 따라 언어는 종속적을수 밖에없다.
1.웹 스크립트 언어별 비교
-웹 스크립트 언어는 asp, jsp, php로 간단히 나눌수 있으며 이 3가지는 공통적으로 html에 태그를 삽입하여
서버 기반의 언어를 제공하고 있다
1)asp
-윈도우 서버를 쓴다면 반드시 쓰는 언어이다
-닷넷(.net)기반의 언어로 확장되고 C#등도 존재하지만 기본 VB Script언어에서 출발했다고 보면된다.
-단점은 윈도우 서버의 IIS라는 서버를 써야하기 때문에 다른 OS에는 사용이 불가능하거나 불편하다.
-기존 C나 Visual basic등의 확장을 통해서 기본 언어의 한계 점을 극복한다
-예전 사례로 파일 업로드를 처리할수 없어서 관련 컴포넌트를 구매하거나 C로 작성한적이 있다.
-현재는 닷넷 덕분에 확장되어 서버 기반 기능을 구현할수 있다.
2)jsp
-윈도우,리눅스,유닉스 서버등 java 컨테이너를 설치하면 어디나 쓸수 있다.
-가장 많이 사용되는 tomcat을 설치하면 jsp는 쉽게 돌아갈수 있다.
-기본 스크립트의 확장기능은 java로 구현하면 된다.
-java는 다양한 기능과 대형 프로젝트에 많이 사용되면서 많은 오픈소스(spring, struts등)을제공한다.
-java는 협업하기에 적당하도록 구현되어 있어서 SI에서 많이 사용된다.
3)php
-리눅스 서버에서 쉽게 적용가능하고 apm(apache,php, mysql)이라는 말로도 많이 사용된다.
-언어는 기본 스크립트 언어로 웹기반에서 확장되어 와서 웹 기반 프로그래밍이 가장 쉽게 사용할수 있다.
-단점으로는 자유도가 높기 때문에 협업시 개발 스타일이 상이하다는 맹점을 갖고 있다.
-java에 비해서는 가볍고 간단한 처리는 빠르게 적용이 가능함으로 유연한 장점을 갖고 있다.
2.소스상의 비교
1)asp -> <% 소스내용 %>
2)jsp -> <% 소스내용 %>
3)php -> <? 소스내용 ?>
-각 언어는 표현하는것이 유사하다
-asp, jsp는 표현의 한계가 있으나 C++이나 java가 지원하기 때문에 스크립트의 의존도가 약하여 스크립트 자체의
함수(메소드)가 부족한 편이다.
-php는 독립적으로 이용되어 와서 가장 편리한 웹개발 함수를 가지고 있다
-요즘php는 자체의 한계성을 리눅스 기반의 쉘스크립트와 혼용함으로써 한계성을 극복하여 왔다.
3.웹 언어와 현황
1)폴리그랏 아키텍쳐의 등장
-각 언어의 한계성과 장단점이 존재함으로서 요구 기능에 따라 언어를 선택하는 아키텍처가 등장하고 있다
-서비스에 따라 경량화된 다양한언어(ex, node.js)들이 등장함으로써 다양한 언어의 선택과 활용이 가능해지고 있다
-물론 언어가 다양해 짐에 따라서 운영/유지보수의 복잡도가 증가됨으로 자동화된 배포(허드슨/젠킨스)등이 부각되고 있다.
2)언어별 장단점
- java/jsp의 경우는 협업이 편리하며 프레임워크로 인한 유지보수가 편리함에 반해 조금 무거운 느낌이 든다
하지만 그 무거운 느낌은 사용자의 한계점까지는 고정적으로 안정된 서비스를 제공한다는것이 큰 장점이다.
-asp는 윈도우os의 한정된 기반으로 가장 최적화 되어 있음으로써 자원활용도가 높고 가볍고 빠르다
하지만 윈도우서버의 자체 가지고 있는 많은 문제점을 그대로 상속 받았기 때문에 보안상의 고려점이 많다
aps를 쓴다면 친구로 MS-SQL과 같이 사용하는경우가 가장 많다.
윈도우 서버는 문제도 많지만 누구나 쉽게 배우고 관리할수 있다는점이 장점인것은 말할필요 없다.
-php는 리눅스 기반에서 잘 사용됨으로 리눅스의 가벼운 자원 활용에 영향을 받아서 경량화된 프로그래밍이 가능하다.
단점은 확장의 한계성 때문에 파이썬등 다른 프로그래밍과 같이 해야한다는 부담감이 있다
하지만 일반적인 웹프로그래밍시에 어려움이 없다.
4.언어간의 마이그레이션
1)윈도우서버 비용의 한계성
-대부분 의뢰하는 언어 마이그레이션의 경우는 윈도우 서버에서 jsp나 php로 의뢰하는경우가 많다
윈도우서버는 유료이기 때문에 초기에는 적용했으나 지속적인 유지보수 비용의 부담감 때문이다
윈도우 서버를 쓰게 되면 같이 따라가는 MS-SQL, 백신등이 고가이기 때문에 부담감이 크다.
2)jsp로의 마이그레이션
-아무래도 java기반의 프로젝트가 많다보니 java개발자를 섭외하기가 가장쉽다.
하지만 java기반은 프레임워크를 많이 사용하기 때문에 생각보다 기간이나 인원이 많이 투입되며
인건비도 적지 않은 편이다(대형 프로젝트등에서 정해진 단가 때문)
3)php로의 마이그레이션
-php개발로 바꾸는경우도 많이 등장한다.
-이유로는 위에서 말한 윈도우 서버 비용, java 서버의 유료버전 이용의 경우 tomcat으로 변환하거나
무료인 mysql을 위해 php로 변환하는 경우가 있다.
-리눅스 등도 무료이기 때문에 쉽게 변경이 가능하지만 반면에 리눅스의 전문가?를 영입하기가 쉽지 않아서
이로인한 한계점도 존재한다.
5.제언
-마이그레이션: 마이그레이션 비용은 생각보다 높다, 이유는 개발자가 2가지 언어를 모두 잘 알고 있어야한다는것
당연히 개발자의 스킬이 높기 때문에 적은 단가에서는 하려고 하지 않을것이다.
-데이터 마이그레이션이슈: DB이관의 경우는 상당히 비용이 크다. 장기적으로 본다면 오픈소스기반의 Mysql이나 Maria DB를 이용하면
좋겠지만. 데이터 이관과 기존 sql의 변경등 기술과 경험이 많이 좌우 하기 때문에 비용을 고려해봐야 한다
-비용: 마이그레이션 비용은 상당히 높다, 개발 변환, DB변환이 동시에 이루어 져야한다면 인력 비용이 높다고 봐야 한다
-개인적으로 DB마이그레이션에 대해서는 단가를 높게 책정한다. 기능의 변수보다 기반 구조 및 아키텍처를 재설계 해야하기 때문에
고난이도의 지적 능력과 기술이 요구 되기 때문이다.
*필자는 고객의 요구에 맞는 개발을 하다보니 여러가지 언어, DB를 접하게 되었다. 모두 각기 장단점이 있기 마련이고
서비스에 따라서 어떤 언어를 선택하느냐 하는점이 상당히 중요하다고 생각한다.
[출처] 웹개발 언어별 비교|작성자 고투플래시