ݺߣ

ݺߣShare a Scribd company logo
한발 앞서 배워보는 Xamarin overview
용영환 / 서울옥션블루
Xamarin Overview
Xamarin을 고민하게 된 계기
• 짧은 시간 안에 iOS 와 안드로이드를 모두 개발해야 했다.
• 웹개발자인 내가 해야 하는데...
• 나는 해야만 했다.
• 1주일!!
설치기
설치기
설치기
Full name, 꼭 이름을 다 쓰셔야 합니다.
설치기
싵기
프로젝트 만들기
프로젝트 종류
환경 종류 설명
Cross-platform Xamarin.Forms App
iOS Single View App 하나의 뷰가 화면 전체를 구성
Master-Detail App 계층구조. 예) 주소록
Tabbed App 탭으로 이동
Page-Based App 책장을 넘기는 듯한 구성
Webview App 웹뷰
Android Android App 기본 안드로이드 구성
Wear App 스마트워치
WebView 웹뷰
Mac Cocoa App 애플 맥 GUI 개발
Other Console Project 쉘 같은 콘솔 프로그램 개발
Gtk# 2.0 Project GTK#
Xamarin C# Library Bind to OS
Xamarin.Forms Solution Architecture
Xamarin.Forms Solution Architecture
제가 생각하는 Xamarin 장점
• C# 을 사용한다.
• Windows, Mac OS 편한 곳에서 개발할 수 있다.
• 공통된 비지니스 로직을 한번만 만들면 된다.
• 조금 덜한 노력으로 다양한 환경을 대응할 수 있다.
Xamarin 시작 전 알아야 할 점
• 조금 느린 감이 있습니다.
• 완전히 동일한 UI 를 생각하지는 않으시는 게 좋습니다.
• iOS와 Android 등 특성에 대해 어느 정도는 아셔야 합니다.
• MVVM 를 이해해야 합니다.
Xamarin OS에 따른 UI 차이
MVVM
ViewModel
INotifyPropertyChanged 와 INotifyCollectionChanged 인터페이스
를 통한 변경통지 이벤트로 뷰에 변경 여부를 알립니다.
Data Binding
Mode Description
Default 바인딩을 할 때, 바인딩이 BindableProperty를 사용해야 하는 것을 표시한다. Bindable
Property 선언이 사용될 때, 기본적으로 BindingMode는 OneWay 가 된다.
OneWay 바인딩이 소스( 일반적으로 View Model)에서 바인딩하는 대상(Target)으로 변경사항
을 퍼뜨릴 수만 있도록 한다. 이것이 기본 모드이다.
OneWayToSource 바인딩이 바인딩 되는 대상 객체로부터 소스 ( 일반적으로 View Model )로 변경 사항
을 퍼뜨릴 수만 있도록 한다. BindableProperty 값을 Read-only 되는 효과를 얻는다.
TwoWay 바인딩이 소스( View Model )와 바인딩되는 대상 객체 간에 양방향으로 변경 값을 터
뜨릴 수 있다.
Xamarin NuGet
고용량 이미지 문제
Xamarin 예제 사이트
• https://github.com/xamarin
• http://developer.xamarin.com/samples/xamarin-forms/All/
• https://github.com/conceptdev/xamarin-forms-samples

More Related Content

한발 앞서 배워보는 Xamarin overview

  • 3. Xamarin을 고민하게 된 계기 • 짧은 시간 안에 iOS 와 안드로이드를 모두 개발해야 했다. • 웹개발자인 내가 해야 하는데... • 나는 해야만 했다. • 1주일!!
  • 6. 설치기 Full name, 꼭 이름을 다 쓰셔야 합니다.
  • 10. 프로젝트 종류 환경 종류 설명 Cross-platform Xamarin.Forms App iOS Single View App 하나의 뷰가 화면 전체를 구성 Master-Detail App 계층구조. 예) 주소록 Tabbed App 탭으로 이동 Page-Based App 책장을 넘기는 듯한 구성 Webview App 웹뷰 Android Android App 기본 안드로이드 구성 Wear App 스마트워치 WebView 웹뷰 Mac Cocoa App 애플 맥 GUI 개발 Other Console Project 쉘 같은 콘솔 프로그램 개발 Gtk# 2.0 Project GTK#
  • 11. Xamarin C# Library Bind to OS
  • 14. 제가 생각하는 Xamarin 장점 • C# 을 사용한다. • Windows, Mac OS 편한 곳에서 개발할 수 있다. • 공통된 비지니스 로직을 한번만 만들면 된다. • 조금 덜한 노력으로 다양한 환경을 대응할 수 있다.
  • 15. Xamarin 시작 전 알아야 할 점 • 조금 느린 감이 있습니다. • 완전히 동일한 UI 를 생각하지는 않으시는 게 좋습니다. • iOS와 Android 등 특성에 대해 어느 정도는 아셔야 합니다. • MVVM 를 이해해야 합니다.
  • 16. Xamarin OS에 따른 UI 차이
  • 17. MVVM
  • 18. ViewModel INotifyPropertyChanged 와 INotifyCollectionChanged 인터페이스 를 통한 변경통지 이벤트로 뷰에 변경 여부를 알립니다.
  • 19. Data Binding Mode Description Default 바인딩을 할 때, 바인딩이 BindableProperty를 사용해야 하는 것을 표시한다. Bindable Property 선언이 사용될 때, 기본적으로 BindingMode는 OneWay 가 된다. OneWay 바인딩이 소스( 일반적으로 View Model)에서 바인딩하는 대상(Target)으로 변경사항 을 퍼뜨릴 수만 있도록 한다. 이것이 기본 모드이다. OneWayToSource 바인딩이 바인딩 되는 대상 객체로부터 소스 ( 일반적으로 View Model )로 변경 사항 을 퍼뜨릴 수만 있도록 한다. BindableProperty 값을 Read-only 되는 효과를 얻는다. TwoWay 바인딩이 소스( View Model )와 바인딩되는 대상 객체 간에 양방향으로 변경 값을 터 뜨릴 수 있다.
  • 22. Xamarin 예제 사이트 • https://github.com/xamarin • http://developer.xamarin.com/samples/xamarin-forms/All/ • https://github.com/conceptdev/xamarin-forms-samples