[로드 테스트] 비주얼 스튜디오 없이, 닷넷 개발하기

일반입력 :2005/09/05 15:16

David McAmis

비주얼 스튜디오 닷넷에 돈을 쓰지 않고, 닷넷 개발을 하고 싶은가. 그렇다면 이 기사가 적격이다. 이 기사에서는 닷넷 개발용 IDE를 찾고 있을 때 고려할 수 있는 몇 가지 대안에 대해 세부적으로 다룬다. 새롭게 닷넷 플랫폼에 뛰어든 개발자로서 혹은 개발 도구 비용의 증가로 고심하고 있다면, 비주얼 스튜디오 닷넷 구입에 돈을 들이지 않고도 견고한 닷넷 애플리케이션을 개발을 할 때 필요한 것들이 무엇인지 여기서 다루게 될 것이다.

그러나 여기서 한 가지 도구는 완전히 배제했다. 바로 메모장(Notepad)이다. 닷넷 애플리케이션을 개발할 때 메모장을 이용해서 재치를 발휘하는 게 최고라고 이야기하는 개발자들도 있다. 하지만 우리는 ‘가치가 증대’된 도구, 그리고 메모장에서는 찾을 수 없는 추가적인 특징과 기능을 제공하는 도구로 한정지어 이야기할 것이다.

비주얼 스튜디오가 나온 이래 자체 개발자 도구용 IDE(Integrated Development Environment)에서 MS는 거의 독점을 하다시피 했다. 비주얼 스튜디오 닷넷과 닷넷 프레임워크의 출시가 이뤄졌으나, MS가 움켜쥐고 있던 개발자 도구 시장은 지난 몇 년 동안 시장에 나온 무료 혹은 저가의 많은 닷넷용 개발 도구의 등장으로 MS의 위세는 약화됐다.

닷넷 프레임워크 시작하기

결국에는 어떤 도구든지 선택하겠지만, 우선 맨 처음에는 MS 다운로드 센터나 MSDN에서 닷넷 프레임워크와 닷넷 프레임워크 SDK를 다운로드해서 설치해야 한다. SDK에는 닷넷 애플리케이션을 만들 때 필요한 도구와 컴파일러가 모두 들어있다. 또한 닷넷 애플리케이션을 배포 혹은 배치할 계획이라면 설치 프로그램 같은 데에 포함시킬 수 있는 재배포가능한 닷넷 프레임워크를 다운로드해야 한다.

오픈 소스 닷넷 개발 환경 ‘샵디벨롭’

#develop을 뜻하는 샾디벨롭(SharpDevelop)은 C#과 VB.NET 개발을 포함한 오픈소스 닷넷 개발 환경이다. 이 도구는 GPL 라이선스에서 배포되며 2000년 처음 나온 이래 성장을 거듭하여 완전한 기능을 지닌 IDE와 개발 플랫폼이 됐다.

샾디벨롭을 이용하면 그림 1처럼 서로 다른 여러가지 형태의 닷넷 애플리케이션을 만들 수 있을 뿐 아니라 C#과 VB.NET을 다른 머신에서도 컴파일할 수 있다

닷넷 개발에 처음이거나, VB.NET에 더 능숙하지만 C#(혹은 기타 다른 언어)으로 옮겨가고 싶다면 샾디벨롭에서 쓸 수 있는 변환 기능을 좋아하게 될 것이다. 이 변환 기능을 이용하면 C#과 VB.NET 간에 놀랄 만큼 정확하게 변환할 수 있다. 또한 IDE에는 코드 완성 기능, 자동 삽입 기능 뿐 아니라 C#, VB.NET, ASP, ASP.NET, HTML, VB 스크립트, XML에 대한 구문 강조 기능(syntax highlighting)도 제공하고 있다.

사용자 인터페이스를 풍부하게 제공하고 있을 뿐 아니라(그림 2 참조) 설계 환경을 위한 견고한 검색 및 치환 기능, 다른 도구와 유틸리티를 포함하기위해 사용될 수 있는 플러그인 아키텍처, 수많은 ‘바로 가기’ 기능을 갖고 있으며 닷넷 애플리케이션의 단위 테스트를 위한 통합 NUnit 지원 기능이 들어있다.

닷넷 플랫폼을 처음 이용하는 개발자들에게 샾디벨롭은 필요한 유일한 도구가 될 수 있다. 각기 다른 사용자 인터페이스를 사용하기에 경험많은 비주얼 스튜디오 닷넷 개발자들은 샾디벨롭에 익숙해지는 데 시간이 좀 걸릴지 모르지만, 개발자들에게 주어진 짧은 시간을 가치있게 할 수 있을만큼 충분한 특징과 기능을 제공한다.

이식성 높인'모노디벨롭'

모노디벨롭은 CLR(Common Language Runtime) 프레임워크를 리눅스나 유닉스 등 다른 운영체제에서 이용할 수 있도록 진행되고 있는 시끌시끌한 모노 프로젝트의 하의 오픈소스 프로젝트이다. 모노디벨롭 그 자체는 닷넷 애플리케이션을 만드는 데 사용될 수 있는 독립적인 개발 도구이자 IDE이며, gtk+ 툴킷과 갖가지 GNOME 라이브러리에 대한 닷넷 언어 바인딩인 gtk# 플랫폼으로 샾디벨롭을 이식한 것이기도 하다.

오픈소스 닷넷 개발 도구를 다양한 플랫폼으로 이식한다는 관점에서 설계된 모노디벨롭은 단시간 내에 너무 많은 걸 하려했으며 사용자 인터페이스 자체도 기본 기능을 제공하는 수준에 그치고 있다.

이 툴셋을 사용해서 현업에 바로 적용할 수준의 애플리케이션을 만들긴 촉박하지만 간단한 웹 애플리케이션을 개발한다거나, 모노디벨롭이 지원하는 플랫폼 중 하나지만 이 플랫폼에서는 다른 대안이 없는 경우 개발을 원한다면 충분할 것이다.

뉴스그룹과 포럼을 통해 지원 대부분을 제공하고 있는 작지만 헌신적인 커뮤니티가 있으며 제품에 대한 문서와 지원은 빈약하다. 닷넷으로 이전하거나 기존 애플리케이션 기능을 보완하려는 오픈소스 개발 커뮤니티에겐 도구에 대해 약간의 지원이 있다.

모노디벨롭은 비주얼 스튜디오 닷넷 경쟁자로서 근접하지조차 못한다. 프로젝트 기여자들이 노력을 집중한다면 특징과 기능을 늘릴 수 있겠지만 비주얼 스튜디오 닷넷에 대항할만큼 만들기 위해선 몇 달 아니 몇 년이 걸릴 것이다.

크로스 플랫폼 툴 ‘엑스디벨롭’

엑스디벨롭(Xdevelop)은 C#, VB.NET, J# 뿐 아니라 자바 애플리케이션을 사용하는 애플리케이션을 개발하는 데 사용될 수 있는 크로스 플랫폼 도구이다. <그림 3>에 나타난 엑스디벨롭의 사용자 인터페이스는 사용하기 쉽고 직관적이며, 자바에 대한 지식을 갖고 닷넷 플랫폼에 접근한다면 닷넷과 자바 코딩에 동일한 도구를 사용할 수 있기 때문에 엑스디벨롭을 사용하면 확실히 이득이 될 것이다.

C#과 VB.NET 개발에서 엑스디벨롭은 비주얼 스튜디오 닷넷과 샾디벨롭 등 다른 도구만큼 많은 특징을 갖고 있진 않지만 코드 완성 기능 및 리팩토링 기능 뿐 아니라 비주얼 스튜디오 닷넷의 솔루션 및 프로젝트 파일 지원 등 코드 개발 속도를 빠르게 하기 위해 사용할 수 있는 ‘생산성을 높여주는’ 특징이 많이 들어있다.

현재 엑스디벨롭은 ‘프리뷰’ 상태이며, 비주얼 스튜디오 닷넷을 버리고 배우기에 너무 어렵지 않은 중간급 IDE를 찾고 있는 개발자들 또는 닷넷으로 옮겨가고자 하는 자바 개발자들에게 엑스디벨롭은 강력한 경쟁력을 지니게 될 것이다.

텍스트 편집기 '비주얼 슬릭에디트'

비주얼 슬릭에디트(Visual SlickEdit)는 텍스트 편집기로 잘 알려져 있으나, 과거 몇 개 버전을 거치면서 VB.NET과 C#을 포함 20개가 넘는 프로그래밍과 스크립팅 언어를 지원하는 명실공히 완벽한 기능을 지닌 개발 환경으로 성장했다.

<그림 4>에 나타낸 사용자 인터페이스는 닷넷 개발에 아주 적당하며 비주얼 슬릭에디트 디버거 창에 내장 CLR 디버거가 나타나 있다. 이 말은 비주얼 슬릭에디트의 UI를 벗어나지 않고도 닷넷 애플리케이션을 수정하고 빌드하며 구동하고 디버깅할 수 있음을 의미한다.

비주얼 슬릭에디트는 성숙하고 안정적인 환경으로, 버전 9까지 나와 있으며 이런 성숙도는 백그라운드 검색 기능, 코드 완성 기능, 구문 강조 기능, 공통 작업 자동화를 위한 강력한 매크로 언어 지원 같은 기능에서 돋보인다.

슬릭에디트는 ‘만능’ 편집기이자 개발 환경이며, 슬릭에디트를 능가하는 걸 찾긴 어려울 것이다. 슬릭에디트를 고집하는 대부분의 사용자들은 슬릭에디트의 고급 특징과 기능에 푹 빠진다면 다른 건 쓰고 싶지 않을 것이라고 말한다.

떠오르는 새로운 개발 환경 '매크로미디어 드림위버'

아마도 드림위버는 웹과 그래픽 디자이너들 사이에서 아주 유명할 테지만, 인수와 제품 개선을 거치면서 드림위버는 ASP.NET 애플리케이션 개발 지원 등 애플리케이션 개발 플랫폼에 가깝게 성장해가고 있다.

<그림 5>에 나타낸 드림위버 사용자 인터페이스는 웹 개발자를 염두해 두고 개발됐고 HTML 페이지, 템플릿, 웹 폼을 쉽게 생성할 수 있으며 기능이 풍부한 웹 폼 생성에서는 비주얼 스튜디오 닷넷을 능가한다.

드림위버는 일반적인 웹 개발과 설계 특징뿐 아니라 ASP.NET 데이터 셋, 리스트, 그리드 오브젝트 뿐 아니라 커스텀 태크, 동적 폼 오브젝트도 지원한다. 드림위버가 비주얼 스튜디오를 능가하는 또다른 영역은 데이터베이스 레코드의 삽입 혹은 갱신, 레코드셋을 살펴보는 웹 폼을 신속하게 생성할 수 있도록 하는 ‘서버 역할’ 기능이 내장돼 있다는 것이다.

코드 뷰도 유연한 ASP.NET뿐 아니라 페이지 내의 어떤 다른 요소에 대한 강조 기능을 가진 개발에 대단히 유용하며 대부분의 개발자들은 코드 작성과 수정에 매우 안락해할 것이다. 드림위버를 사용하는 개발팀을 구성할 때 드는 비용은 엄청날지 모르지만, 애플리케이션의 룩앤필을 강조한 풍부한 기능의 웹 애플리케이션을 생성하고자 한다면 드림위버가 방법일지 모른다.

기타 도구

오픈소스 공동체가 닷넷으로 다가서는 또다른 영역은 테스팅 영역이다. NUnit는 원래 자바용 단위 테스팅 도구로 잘 알려진 JUnit을 닷넷으로 이식한 것으로, 인기있는 닷넷 언어용 단위 테스팅 프레임워크이다.

NUnit는 소프트웨어 개발자들 사이에서 인기있는 도구이며 C#을 사용하여 완전히 재작성됐다. 이 도구는 테스팅 애플리케이션을 위해 명령줄이나 GUI 사용자 인터페이스를 갖고 있다. 명령줄은 굳이 즉시 결과를 볼 필요가 없는 대규모 테스트 배치 작업을 돌릴 때 적당하며, GUI는 녹색, 황색, 적색 표시가 테스트 상태를 나타내는 데 사용되는 ‘중단신호’를 표시해준다.

이 도구의 최근 버전은 2.2이며, 리눅스 등 여타 플랫폼에서 닷넷 애플리케이션을 개발하는 데 사용되는 오픈소스 IDE인 모노디벨롭을 사용하고 있다면 NUnit가 함께 설치되지만 최신 버전을 받아서 업그레이드할 필요가 있다.

이제 질문이 남았다. 비주얼 스튜디오를 완전히 대치할 수 있을까? 답변은 '그렇다'이다. 대안 도구를 쓰는 데 만족한다면 말이다.

닷넷 개발에 새롭게 뛰어든 개발자들에겐 완전히 다른 개발 환경에서 시작하는 게 더 쉬울 것이지만, 비주얼 스튜디오 닷넷을 열성적으로 쓰는 사용자들에겐 새로운 플랫폼으로 옮길만한 이유가 있어야 한다. 물론 비주얼 스튜디오 닷넷 비용이 늘면서 우리가 살펴본 오픈소스와 저가형 대안 중 일부는 목적에 부합할지도 모른다. @