목차

  1. 자마린 소개
  2. 자마린 인스톨 하기
  3. 자마린 Android 앱 실행 하기
  4. 에뮬레이터로 실행하기
  5. 디바이스로 실행하기
  6. 자마린 iOS 앱 실행 하기
  7. 자마린 Windows Phone 앱 실행 하기
  8. 자마린 개인적인 의견



 

자마린 소개

 

자마린으로 만든 앱이 한 번에 iOS, Android, Windows 폰에서 사용이 가능하다?

기본적으로 모바일 앱은 3종류의 플랫폼으로 나뉜다. iOS, Android 그리고 Windows Phone. 각각 플랫폼으로 만들어진 앱은 다른 플랫폼에서 사용할 수 없다. 즉, iOS로 만들어진 앱은 iOS 폰에서만 사용할 수 있다. 앱을 애플 유저들에서 공급하기 위해 iOS개발자가 iOS앱을 개발하고, 앤드로이드 유저를 위해 Android 개발자가 존재한다. 하지만, 자마린 개발자는 자마린 폼즈(Xamarin Forms)를 가지고 한 번에 3종류의 플랫폼 앱을 만들 수 있다.

 

자마린은 크로스 플랫폼 도구이다. 마이크로소프트가 인수하면서 현재 무료로 제공되고 있으며 엄청 상승세 중이다.

자마린의 특징은 공통화된 C# 언어를 사용하고 모든 플랫폼에 사용 가능하고, 공통 로직 계층과 플랫폼별 네이티브 계층이 존재하여 특성화된 네이티브 UI 로직에 또한 C#으로 접근이 가능하다.

자마린에는 2가지의 플랫폼 구조가 존재한다.

첫 번째는 자마린 네이티브.

즉 자마린을 사용하여 Xamarin.Android프로젝트와 Xamarin.iOS프로젝트를 따로따로 만든다. 사진에서 나와 있는 것과 같이 네이티브 앱을 만드는 것과 같은 프로젝트 파일 구조를 알수있다. 자바 언어랑 스위프트 언어로 하던 코딩을 C#으로 할 수 있다는 게 큰 특징이다.


두 번쨰는 자마린 폼즈 (Xamarin Forms)

이것이야말로 한 번에 3플랫폼 앱을 만들 수 있다.

 

위 그림에 보이는 것과 같이 Cross-platform Xamarin Forms 프로젝트를 선택하고 원하는 플랫폼을 포함하고(위 사진은 3개 모두 포함) 만들면 프로젝트가 4개가 만들어지는걸 확인할 수 있다. 각각 네이티브 프로젝트와 제일 위에 있는 Xamarin Form 프로젝트이다.

대부분 작업은 첫 프로젝트 (Forms)에서 이루어진다. 공통화된 폼즈 컨트롤(버튼 컨트롤, 레이아웃 컨트롤 등등 )를 사용하며 UI와 로직을 적용하고 실행하기 위해서는 네이티브 프로젝트, 즉, Android프로젝트를 타깃으로 컴파일과 실행을 한다. 실행된 앱을 보면 폼즈 컨트롤로 만든 UI가 플랫폼에 특성화된 UI로 바뀌어 보이는걸 확인할 수 있다.



 

자마린 인스톨 하기

 

비주얼 스튜디오 다운로드/인스톨

자마린을 인스톨 하기 위해서 무조건 비주얼 스튜디오가 필요하다. 비주얼 스튜디오가 없다면 무료 커뮤니티 버전을 다운받아 인스톨한다.

다운받으러 가기


자마린 인스톨

비주얼 스튜디오 인스톨화면에서 .NET을 사용한 모바일 개발 (Mobile development with .NET) 을 선택하고 인스톨 한다

? 원하시면 오른쪽 창에 설치 세부 정보 창을 열어 원 하지 않는 인스톨 옵션을 최소할 수 있다

참고 링크



 

 

자마린 Android 앱 실행 하기

 

Android 앱을 실행하기전에 기본적으로 필요한 세팅들이 존재한다.

참고 링크


JDK 연결하기

자마린 안드로이드는 JDK와 안드로이드 SDK를 가지고 빌드를 실행하고 앱을 실행한다. 그러기 위해 JDK가 윈도우에 설치되어있어야 한다.

JDK 가 없다면 다운받고 설치한다. 자마린 안드로이드는 Java 8을 사용하기 때문에 Java 8을 다운받아야 한다.

JDK 8 다운받기

자, 이제 비주얼 스튜디오에서 Tool> Options>Xamarin>Android Settings로 가서 밑의 그림과 같이 JDK, SDK, NDK 파일주소를 세팅해준다.

 

Android SDK Manager (SDK 매니져)

Android version에 따라 알맞은 Android API가 존재한다. 안드로이드 9.0을 타깃으로 앱을 만들고 실행하기 위해서는 Android API 28이 필요하다. Android SDK Manager는 Android에 필요한 옵션들은 관리하는 도구다.

Android API 참조

기본적으로 Google Android SDK Manager가 설치되면 위 사진과 같은 UI지만, 최근에 Xamarin에서 새로운 UI가 생겨났다. 하지만 UI말고는 다른게 없다.

 

에뮬레이터로 실행하기

개인적으로 윈도우에서 실행하는 에뮬레이터는 너무 느리고 속터져 추천하지 않는다. 하지만 Android폰이 있다면 다음 글에 모바일 바로 실행하는 방법을 추천하다.

자, 에뮬레이터를 설치해보자.

Tools>Android>Android SDK Manager를 실행해서 위 사진과 같이 선택하고 설치한다.

참고 링크

 

 

에뮬레이터를 실행하기위해서는 Tools>Android>Android Device Manager를 실행하고 원하는 에뮬레이터 기기를 선택해 실행한다. 특정한 기기 옵션이 필요하다면 NEW를 선택하고 새로 기기 옵션을 세팅하고 만들어간다.

 

에뮬레이터 사양 높이기

윈도우에서 돌아가는 에뮬레이터는 엄청 느리다. 아무리 사양좋은 컴퓨터라 할지라도 맥과 같이 X86을 실행하는게 아닌 ARM CPU & GPU를 돌리기때문이다.

하지만 조금이나마 사양을 빠르게 하는 방법이 존재하는데 그건 Hyper-V 와 HAXM 세팅이다.

 

Hyper-V 세팅 실행하기

시작>Turn Windows Features on or off 실행후 밑 사진과 같이 체크박스 선택한후 컴퓨터 재시작.

 

HAXM 설치하기

HAXM 다운로드 를 클릭하고 다운로드후 설치하기. (기본 설정 건들지 않기)

 

자, 이제 실행하도록 하겠다.

 

Android 프로젝트를 실행 타깃으로 설정한다.

실행 타깃후. 에뮬레이터 기기 고르기.

타깃 기기를 고른뒤. 실행한다.

위 사진과 같이 에뮬레이터가 실행되고 앱이 실행되는걸 확인할수있다.



디바이스로 실행하기

디바이스로 실행하기는 무척이나 쉽다. 개인적으로 가지고 있는 모바일기기로 실행하는걸 추천한다.

 

USB Driver 설치하기

Tools>Android>Android SDK Manager를 실행한후 Google USB Driver package를 선택후 설치한다.

모바일 기기 USB Debugging 켜기 (개발자옵션 활성화)

Android 4.2위로 부터는 설정>디바이스 정보>빌드번호

빌드번호를 7번 누르면, 개발자 모드가 실행됬다는 문구가 나온다. 설정 메뉴안에 개발자 옵션 메뉴가 생긴걸 확인할 수 있다.

개발자 옵션 메뉴에 들어가 USB 디버깅을 켠다.

 

자, 이제 실행하도록 하겠다.

 

디바이스를 USB에 꼽고 컴퓨터와 연결하면, 디바이스 창에 컴퓨터와 연결을 허용하겠냐는 문구가 뜬다. 확인을 누른다.

확인을 누른후 동시에 비주어 스튜디오에 실행 버튼 칸에 현재 연결된 디바이즈가 뜨는걸 확인할수있다.



 

자마린 iOS 앱 실행 하기

다른 포스팅에서 설명하도록 하겠다.



 

자마린 Windows Phone 앱 실행 하기

다른 포스팅에서 설명하도록 하겠다.



 

자마린 개인적인 의견

마이크로소프트가 자마린 폼즈를 엄청 신경쓰고있는게 보인다. 공통화된 Feature들 업데이트가 굉장히 많다. 하지만 그래도 부족한 부분들이 너무 많아, 항상 Custom renderer를 사용하게 된다. 개인적으로 자마린을 사용한다면 폼즈보단 네이티브를 프로젝트를 선택하겠다. 폼즈를 사용할시에 공통화된 컨트롤를 사용하더라도 커스텀 이펙트를 넣고 싶으면 Custom Renderer를 각 플랫폼마다 만들어야함으로 네이티브로 개발 하는것과 비슷한 시간소요가 들어간다. 이때는 차라리 네이티브가 훨씬 쉽고 편하다는걸 강조하고싶다. 각각 네이티브 플랫폼 프로젝트를 만들고 따로 Class Library를 만들어 공통화된 비지니스 로직, 서비스와 데이터 엑세스, 인터페이스, 모델 쉐어를 통해 플랫폼별 UI로직와 비지니스로직을 따로 하는 방법을 추천한다. 이렇게 하면 최대한 공통적인것들은 쉐어함으로써 개발 시간이 많이 줄어들게된다.

 

 

 

 

출처 : https://brainshareme.com/visualstudio-xamarin-start/

 

+ Recent posts