한발 앞서 배워보는 xamarin overview

22

Upload: young-d

Post on 18-Feb-2017

2.271 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: 한발 앞서 배워보는 Xamarin overview
Page 2: 한발 앞서 배워보는 Xamarin overview

용영환 / 서울옥션블루

Xamarin Overview

Page 3: 한발 앞서 배워보는 Xamarin overview

Xamarin을 고민하게 된 계기

• 짧은 시간 안에 iOS 와 안드로이드를 모두 개발해야 했다.

• 웹개발자인 내가 해야 하는데...

• 나는 해야만 했다.

• 1주일!!

Page 4: 한발 앞서 배워보는 Xamarin overview

설치하기

Page 5: 한발 앞서 배워보는 Xamarin overview

설치하기

Page 6: 한발 앞서 배워보는 Xamarin overview

설치하기

Full name, 꼭 이름을 다 쓰셔야 합니다.

Page 7: 한발 앞서 배워보는 Xamarin overview

설치하기

Page 8: 한발 앞서 배워보는 Xamarin overview

시작하기

Page 9: 한발 앞서 배워보는 Xamarin overview

프로젝트 만들기

Page 10: 한발 앞서 배워보는 Xamarin overview

프로젝트 종류

환경 종류 설명

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#

Page 11: 한발 앞서 배워보는 Xamarin overview

Xamarin C# Library Bind to OS

Page 12: 한발 앞서 배워보는 Xamarin overview

Xamarin.Forms Solution Architecture

Page 13: 한발 앞서 배워보는 Xamarin overview

Xamarin.Forms Solution Architecture

Page 14: 한발 앞서 배워보는 Xamarin overview

제가 생각하는 Xamarin 장점

• C# 을 사용한다.

• Windows, Mac OS 편한 곳에서 개발할 수 있다.

• 공통된 비지니스 로직을 한번만 만들면 된다.

• 조금 덜한 노력으로 다양한 환경을 대응할 수 있다.

Page 15: 한발 앞서 배워보는 Xamarin overview

Xamarin 시작 전 알아야 할 점

• 조금 느린 감이 있습니다.

• 완전히 동일한 UI 를 생각하지는 않으시는 게 좋습니다.

• iOS와 Android 등 특성에 대해 어느 정도는 아셔야 합니다.

• MVVM 를 이해해야 합니다.

Page 16: 한발 앞서 배워보는 Xamarin overview

Xamarin OS에 따른 UI 차이

Page 17: 한발 앞서 배워보는 Xamarin overview

MVVM

Page 18: 한발 앞서 배워보는 Xamarin overview

ViewModel

INotifyPropertyChanged 와 INotifyCollectionChanged 인터페이스를 통한 변경통지 이벤트로 뷰에 변경 여부를 알립니다.

Page 19: 한발 앞서 배워보는 Xamarin overview

Data Binding

Mode Description

Default 바인딩을 할 때, 바인딩이 BindableProperty를 사용해야 하는 것을 표시한다. BindableProperty 선언이 사용될 때, 기본적으로 BindingMode는 OneWay 가 된다.

OneWay 바인딩이 소스( 일반적으로 View Model)에서 바인딩하는 대상(Target)으로 변경사항을 퍼뜨릴 수만 있도록 한다. 이것이 기본 모드이다.

OneWayToSource 바인딩이 바인딩 되는 대상 객체로부터 소스 ( 일반적으로 View Model )로 변경 사항을 퍼뜨릴 수만 있도록 한다. BindableProperty 값을 Read-only 되는 효과를 얻는다.

TwoWay 바인딩이 소스( View Model )와 바인딩되는 대상 객체 간에 양방향으로 변경 값을 터뜨릴 수 있다.

Page 20: 한발 앞서 배워보는 Xamarin overview

Xamarin NuGet

Page 21: 한발 앞서 배워보는 Xamarin overview

고용량 이미지 문제

Page 22: 한발 앞서 배워보는 Xamarin overview

Xamarin 예제 사이트

• https://github.com/xamarin

• http://developer.xamarin.com/samples/xamarin-forms/All/

• https://github.com/conceptdev/xamarin-forms-samples