본문 바로가기

Programing/OpenSource

[Xamarin.Mac] 데스크탑 애플리케이션 개발

처음에는 크로스 플랫폼 데스크탑 애플리케이션을 만들기 위해 'Electron'과 'NW.js'를 살펴보고 있었다.

그런데 패키징까지 해보고 나니 아무것도 없는 애플리케이션도 용량이 100MB 대로 너무 컸다.


혹시 다른 대안이 없을까 알아보다가 보니 macOS에서도 닷넷이 지원되는 것이 생각났다.


1. 닷넷 콘솔 프로그램

.NET Tutorial - Hello World in 10 minutes 을 따라가보았다.

Visual Studio Code를 이용해서 개발을 할 수 있었다.

FootPrint의 형식은 dll로 떨어진다. 용량은 7KB(7,168바이트)였다.


2. 닷넷 응용 프로그램

처음에는 mono 프로젝트를 생각했고, 그 쪽도 검색이 되었지만, 이젠 microsoft에서 Xamarin라는 것을 만들었다.

macOS쪽에는 Xamarin.Mac라는 이름을 쓴다.

https://docs.microsoft.com/ko-kr/xamarin/mac/ 에서 Hello, Mac – 연습을 해볼 수 있었다.

아래와 같은 창에 버튼과 레이블이 있는 간단한 프로그램을 구성해본다.


FootPrint의 형식은 네이티브 패키지로 보이고 내부적으로는 MonoBundle로 구성이 된다.

패키지는 3.7MB, 실행 파일은 9.2MB이다. 나쁘지 않은 크기이다.


내가 필요한 API인 NormalizeString 함수는 닷넷에도 String.Normalize로 구현이 되어 있었다.

물론 Xamarin.Mac도 3.0 이후부터 지원이 된다.