닷넷개발에 관하여

mr.lee의 이미지

개인적으로는 리눅스와 오픈소스를 최대한 프로젝트에 활용하는것을 좋아하지만, 이번에 윈도우 어플리케이션 프로젝트를 진행하게 되어 몇가지 생각들을 적어봅니다.

주로 DB 핸들링과 지도엔진을 이용한 화면 표출 및 운영시스템 등등입니다.

개발툴은 볼랜드 디벨로퍼 스튜디오를 사용해야(?) 합니다. 따라서, C#, C++ Builder, Delphi 등을 언어로 고를 수 있구요. 닷넷용 환경으로 컴파일을 할것인가 그냥 윈도우 바이너리로 만들것인가도 결정사항중 하나입니다.

저는 언어의 유연함, 강력함, 개발속도, 유지보수 및 확장의 용이함 등과 모노, dotgnu 등도 있으니 향 후 충분히 안정적으로 되면 멀티플랫폼-멀티랭귀지까지 가능하다는 장점으로 닷넷기반의 C#으로 할려고 합니다.

그렇지 않다면 C++ Builder로 하는것이 가장 무난하다고 판단합니다.

헌데 인력을 충원키 위치 C# 경력자들을 찾아보니 대부분이 ASP.NET + C# 으로 된 웹 프로젝트 경력이더군요. 물론, 지금은 웹어플리케이션 개념이므로 웹이던 단일 어플리케이션이던 View가 어디냐에 따른거지 Control은 거기서 거기라고 봅니다. 다만, WebForm이 아닌 WinForm에 어느정도 익숙한 경험이 있어야 되겠지요.

제가 궁금해지는것은 여러가지 활용성을 감안해서 윈도우 어플리케이션으로 닷넷기반의 C#을 활용하는것이 좋을까? 아닐까 하는것입니다. 90프로 이상의 닷넷 개발은 대부분 웹개발에 치중되어 있는 상황을 보니 그러한 궁금증이 드는군요.

사족으로,

mono나 dotgnu가 winform을 충분히 이식하고 버젼들이 안정적으로 되면. (gtk#, VLk, QT#, .. 등 다양한 크로스플랫폼 툴킷들도 있지만) 명실공히 멀티플랫폼-멀티랭귀지가 가능해지는데 닷넷용 어플리케이션이 많이 나오면 자연스레 리눅스 데스크탑의 사용범위도 넓어지지 않을까 기대해봅니다.

allinux의 이미지

윈도우 95,98 을 고려안해도 되고
성능을 고려안해도 되고(네이티브에 비해)
코드가 노출되어도 괜찮다면(IL 코드이므로 쉽게 소스가 추출됩니다.)
닷넷도 나쁘지 않다고 봅니다.

닷넷이 웹기반의 엔터프라이즈 시장에 치중되어 있는 것은 자바에서의 이유와도 유사합니다.
개인적으로 win32 어플리케이션은 네이티브 결과물을 내는 것이 더 장점이 있을 것이라 생각합니다.

다만 델파이/씨빌더의 VCL 이 훌륭한 프레임워크임에는 틀림없지만 닷넷보단 저수준처리를 해줘야 하므로
생산성에선 닷넷이 더 좋을 것이라 생각합니다.
향후에 웹기반으로도 서비스가 되어야 한다는 조건에도 닷넷이 유리할 것이라 생각합니다.