Sunday, February 01, 2009

Running .NET Application on Mac OS using Mono.

스티브잡스 1.0 이라고도 불리우는 Mac OS X Leopard가 출시되면서 MacBook을 사용하게 되었다. Mac OS X에는 Java Runtime이 함께 배포되기 때문에 Java응용프로그램이 바로 실행이 가능하다는 장점이 있다. 물론 다음 그림과 같이 Java 개발환경인 Eclipse도 완벽하게 실행된다.



오랫동안 MFC(Microsoft Foundation Classlibrary)를 이용하여 윈도우용 데스크탑 어플리케이션을 개발해왔던 나로서는 Mac OS용 응용프로그램에 대한 관심이 자연스럽게 생기게 되었는데.
.NET으로 개발한 응용프로그램에 대해서는 Mac OS에서도 작동할 수 있다는 정보를 얻게 되었다.

다음은 .NET에서 개발된 간단한 Form 응용프로그램이다.




이 프로그램을 Mac OS에 복사하고 실행시켜 보면 다음과 같다.





정말 윈도우즈 환경과 같이 동일한 실행이 된다.

그러나 이와 같이 하기 위해서는 몇 가지 준비사항이 필요한데 다음을 참고한다.
1) Mac OS용 .NET 런타임에 해당하는 Mono를 설치한다.
2) .NET 응용프로그램을 개발할 때 대상 환경을 .NET Framework 2.0 으로 만든다.
(최신의 mono는 .NET Framework 3.0도 지원한다 한다.)

mono는 다음 사이트를 참고한다.
http://www.mono-project.com/Main_Page

* 주의할 점.
- Mono는 완전한 .NET Framework의 Mac OS용이 아니다.
- Mono는 Novel에서 지원하여 만들어지고 있는 공개소스 프로젝트이다.
- Mono의 미래는 .NET Framework과 차별화되는 Cross Platform용 프레임워크이다.
(심지어는 윈도우용 런타임도 있다.)

* 앞으로의 숙제
- Mono에서는 아직 한글 입출력의 문제가 있었다.
- 전체적으로는 .NET 응용프로램이 작동된다는 것 정도는 확인했지만, Microsoft가 Mac OS용 .NET Framework을 직접 배포하기 전에는 윈도우의 데스크탑 응용프로그램이 주는 사용자 환경을 Mono가 제공해줄까에는 의심의 여지가 있다.