테닝베어의 나날

[MAUI] MAUI 간략 설명 및 사용해보기 본문

IT

[MAUI] MAUI 간략 설명 및 사용해보기

테닝베어 2022. 1. 30. 22:37

때는 2015년 대학 다닐 때.

서울시 앱 공모전이 있었고, 친구들과 저는 Xamarin으로 프로젝트를 진행했었죠.

당시에는 획기적인 기술이었지만, 관련 문서 및 커뮤니티가 없어서 개발에 꽤나 힘들었었던 기억이 있습니다.

버그도 많았었고..ㅠㅠㅋㅋㅋ

 

그리고 시간이 지나 지금..

마이크로소프트의 Xamarin팀은 MAUI라는 새로운 기술을 발표하였습니다.

MAUI는 .Net Multi-platform App UI의 약자이며, Xamarin처럼 하나의 개발로 Windows, Android, IOS에서 사용 할 수 있는 앱을 만들 수 있는 프레임워크 입니다.

출처 : https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui

MAUI는 XAMLC#으로 프로그램을 만듭니다. 이 소식을 처음 들었을 때, 저는 WPF 개발을 약 5년간 해왔기 때문에 더욱 흥미로웠습니다 ㅎㅎ

그리고 Blazor(웹 프레임워크)로도 개발이 가능하다는데.. 이게 진짜라면 대박이지 않나요?! Blazor로 웹 프론트 개발했던 사람이 응용프로그램까지 뷰까지 만들게 된다는 이야기니깐요!

 

그럼 Xamarin과 MAUI의 차이는 무엇일까요?

저도 사실 Xamarin을 많이 다뤄본것도 아니고, 다뤄본게 옛날이라서 잘 모릅니다.

찾아보니깐 큰 차이점으로는 Xamarin에서는 플랫폼들마다 코드구현 or 프로젝트 관리를 해야하는 부분이 있었지만, MAUI에서는 하나의 코드로 다 사용이 가능하다고 하네요. 리소스도 공유해서 사용 할 수 있고요. 이 부분에 대해서 나중에 자세히 알게 되면 이 글을 수정하거나 추가 포스팅 하겠습니다.

 

아무튼!!

 

새로운 전자제품 사면 바로 작동시켜야 하는 것처럼 새로운 기술이 나오면 새롭게 사용해 봐야겠죠?

그러면 어떻게 설치을 하느냐..

 

| 설치

일단 Visual Studio 2022 Preview 1 (17.1)을 설치해야 합니다. 일반 Visual Studio 2022를 설치하면 MAUI를 할 수 없습니다.

Visual Studio Preview (microsoft.com)에서 Visual Studio 설치파일을 다운받아서 실행을 하면 Workloads가 나오는데, '.NET을 사용한 모바일 개발', '유니버셜 Windows 플랫폼 개발' 을 필수로 선택해주시면 됩니다. (다음 이미지 참고.)

 

어렵지 않쥬?

이젠 프로젝트 만드는 방법에 대해서 알아보겠습니다.

 

| 프로젝트 생성 방법

설치가 다 된 다음에는 Visual Studio를 실행해 줍니다.

그리고 '새 프로젝트 만들기'를 눌러 줍니다.

 

그리고 '.NET MAUI App (Preview)'를 찾아서 '다음' 버튼을 눌러줍니다.

 

마지막으로 '만들기' 버튼을 클릭하면 끝입니다.

 

| 실행

실행.. 어려운것 없습니다. F5만 누르면 되기에..ㅋㅋㅋ

그렇기에 플랫폼에 따라 다른 실행 방법을 알아보겠습니다.

아 참고로 프로젝트를 만들고 솔루션 탐색기의 종속성에 '!'표시가 되어 있을 수 있는데, 1~2분 기다리면 자동으로 사라집니다.

 

| 윈도우에서 실행하기

디버깅 플랫폼 설정 콤보박스에서 'Windows Machine'을 클릭 후 실행하면 됩니다.

 

| 안드로이드에서 실행

안드로이드 플랫폼을 클릭한 후 실행하면 됩니다.

 

※ 안드로이드로 실행시 에뮬레이터가 켜졌다가 바로 꺼지는 에러가 날 수 있습니다.

그럴 때는 에뮬레이터 성능에 대한 하드웨어 가속(Hyper-V & HAXM) - Xamarin | Microsoft Docs의 중간에 있는 HAXM설명을 보면서 HAXM이 사용가능한지 확인 후에 해당 소프트웨어를 설치하면 됩니다.

혹시나 설치해도 안되면(저는 블루스크린도 나왔습니다..) 아까 만든 MAUI 프로젝트를 지우고, 다시 생성해서 실행해보세요. 저는 이렇게 하니 잘되었습니다.

 

| IOS

IOS는 눈물나게도.. 기기가 있어야 가능한듯 싶습니다..

나중에 방법을 알게되면 공유하겠습니다. 혹은 아시는 분이 계신다면 지식 공유 부탁드리겠습니다.

 

 

이상으로 MAUI를 이용한 어플리케이션 만들기를 해보았습니다.

아직 정리된 자료들이 많지 않아서 여러 시행착오가 많아서 별거 아닌것들이 오래 걸렸네요.

다들 이 포스팅을 보셔서 도움이 되었길 바라겠습니다.

그럼 이만 글을 마치겠습니다.

읽어주셔서 감사합니다.

 

 


참고

MAUI 설명 : https://docs.microsoft.com/ko-kr/dotnet/maui/what-is-maui

MAUI 설치 : https://docs.microsoft.com/ko-kr/dotnet/maui/get-started/installation

Comments