2016년 12월 26일 월요일

Xamarin 프로젝트 구성과 Portable Class Library

 이 글은 Xamarin.Form을 통해서 Cross platform 개발을 하는 방법에 대한 기초적인 세트에 대해서 이야기 하려고 한다. 

 ---- 설치 관련 내용은 생략한다. 

 기본적으로 Cross-Platform 카테고리에서 Blank App (Xamarin.Forms Shared) 항목으로 이름이 App1이라는 솔루션을 만들었다. 

 

 위 그림과 같이 솔루션 안에 총 6개의 프로젝트가 만들어진다. 
 이제 위 프로젝트에 대해서 Xamarin 사이트에 있는 내용을 바탕으로 설명을 진행하고 오늘의 글은 간단히 마치려고 한다. 

  • App1 
    • 하위 5개의 프로젝트에서 공유해서 사용하는 Code와 Ui가 있다. 
    • Xamarin에서는 이 프로젝트를 Portable Class Library라고 한다. 
    • Xamarin.Form(XAML)을 이용해서 UI를 설정하고 그것에 따라 각 View model을 Binding 해준다면 하위 프로젝트들에 공통으로 반영이 된다. 
  • App1.Droid
  • App1.iOS
  • App1.UWP
  • App1.Windows
  • App1.WinPhone
 나머지 5개는 각각의 OS에 맞는 Native Code/Ui를 설정할 수 있는 프로젝트들이다. 
 공유되는 프로젝트인 App1에 대해서 자세히 살펴보자. 

  • App1 (Portable Class Library 줄여서 PCL 이라고 하겠다.)
    • Properties
    • References
    • App.xaml
      • App.xaml.cs
    • Mainpage.xaml
      • MainPage.xaml.cs
    • Packages.config


  • App.xaml
    • App.xaml.cs
      • 응용프로그램에 대한 리소스가 사전에 정의되어 있는 xaml파일과 각 플랫폼에서 동작하는 응용프로그램 첫 페이지를 인스턴스화하고 생명주기 이벤트를 처리하는 App 클래스가 정의되어 있는 cs파일이 있다. 

  • Mainpage.xaml
    • MainPage.xaml.cs
      • 응용프로그램이 구동시 보여지는 첫 페이지에 대한 정의와 해당 내용에 대한 사용자와 상호작용하는 비지니스 코드들이 들어있다. 
   간단하게 설명하자면 App class에서 Mainpage class를 인스턴스화 하여 첫 시작을 구동시키는 것이다. 주로 MainPage 관련 xaml, cs 을 수정하면서 PCL 프로젝트를 구현하게 된다. 

댓글 없음:

댓글 쓰기