티스토리 뷰

안녕하세요. 김승진입니다.


Visual Studio 를 설치 완료 하였다면 이제 절반은 끝난거나 마찬가지 입니다


Visual Studio 화면에서 File > New > Project 를 선택하시면 다음과 같은 템플릿들을 볼 수 있습니다.

정말 다양한 템플릿들이 존재 하는데 우리는 Xamarin 개발을 할테니 Visual C# > Cross-Platform > Cross Platform App(Xamarin.Forms or Native) 를 선택하시면 됩니다.



적당한 이름을 선택하고 OK를 선택하면 아래와 같은 템플릿을 추가로 선택해야 만 합니다.


Blank App은 말 그대로 비어 있는 앱 프로젝트를 생성하고 Master Detail은 일반적인 Master-Detail Navigation Pattern의 샘플 템플릿이입니다. 특히 MVVM(Model-View-ViewModel) 패턴에 대한 적절한 샘플을 볼 수 있다는 점이 장점입니다.




UI Technology 는 Xamarin.Forms를 하고 Code Shareing Strategy는 Portable Class Library(PCL)을 권장 합니다.


Xamarin.Forms와 Native의 차이라면 UI를 플랫폼(Android, iOS 등) 독립적으로 개발하는 것이 Native옵션이고 Xaml을 통한 플랫폼 통합 UI개발이 Xamarin.Forms 입니다.


Code Sharing Strategy는 고민이 많은 옵션이긴 한데 일단 PCL을 권장합니다.(근데 왜 기본 옵션이 Shared Project 인지 ,,,)


차이라면 PCL은 공유 코드가 프로젝트 참조 형태로 중소규모 프로젝트 적합한 컨셉이라 판단되고 Shared Project(일반적으로 SAP-Shared Asset Project라 부름)는 적절한 통제 내의 공유가 목적인 경우 적합한 컨셉이라 생각 됩니다.


이기까지 지정하고 OK를 누르시면 솔루션 탐색기에서 프로젝트 목록을 확인 할 수 있습니다.



위 화면을 보시면 총 3개의 프로젝트가 생성된 것을 볼 수 있습니다.


 - App1 프로젝트 : 공유 프로젝트

 - App1.Android 프로젝트 : Android용 프로젝트

 - App1.iOS : iOS용 프로젝트


(만약 Windows Phone도 설치했다면 UWP를 포함한 4개의 프로젝트가 나왔을 겁니다.)


크로스 플랫폼이라고 해서 정말 하나로만 다 하는 줄 알았는데 조금 당황하신 분들도 있겠네요 ㅠㅠ

하지만 Xamarin.Forms를 이용하게되면 정말 코드 공유률이 높다고 하니 한번 믿어 보시죠.ㅎㅎ


Visual Studio에서는 참 편리하게 Android Emulator 와 iOS Simulator를 내장하고 있습니다.

각 각 실행을 해보려면 먼저 실행하고자 하는 프로젝트를 선택하고 "Set as StartUp Project" 으로 지정하고 상단의 디버깅 시작 버튼을 클릭합니다. (또는 F5를 누르시면 됩니다.)


iOS Simulator 를 위해서는 아래 OSX 공유 설정이 선행되어야 합니다.

아래 링크를 확인하시기 바랍니다.

https://developer.xamarin.com/guides/ios/getting_started/installation/windows/connecting-to-mac/visual-studio-ssh/


Android와 iOS 각각 아래와 같은 화면을 확인 하실 수 있습니다.





많은 분들의 오해가 있어서 한가지 말씀 드립니다.

iOS 빌드를 하기 위해 정말 OSX(맥북 OS)가 없어도 되는지 물어 보시는 분들이 많은데

분명히 말씀을 드리자면 필수적으로 필요 합니다. 위에서 보시는 화면도 OSX 연결을 통해 보여지는 화면입니다.

Enterprise 버전에서는 Remote iOS Simulator를 지원하고 있어서 Visual Studio가 설치된 Windows 내에서도 바로 볼 수 있고 Community 버전인 경우 연결된 OSX 의 XCode 내에서 실행됩니다.


다른 전문가 분에게 문의를 해보니 기술적으로는 가능하나 법적으로 OSX가 없는 상태에서 빌드를 하는 것은 불법이 될 수 있다고 하네요. 어디까지나 Apple 개발 환경 정책이 보수적인 것 같습니다.


여기 까지 개발 환경을 모두 알아 보았습니다.


감사합니다.


저작자 표시 비영리 변경 금지
신고
댓글
댓글쓰기 폼