SlideShare a Scribd company logo
1 of 22
Download to read offline
용영환 / 서울옥션블루
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

What's hot

2016웹트렌드와 반응형웹
2016웹트렌드와 반응형웹2016웹트렌드와 반응형웹
2016웹트렌드와 반응형웹Kim Ji-Man
 
반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2Lee Ji Eun
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정Kenu, GwangNam Heo
 
기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계
기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계  기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계
기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계 Amy Young Ah Kim
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Junsu Kim
 
응답하라 반응형웹 - 1. 반응형 웹이란
응답하라 반응형웹 - 1. 반응형 웹이란응답하라 반응형웹 - 1. 반응형 웹이란
응답하라 반응형웹 - 1. 반응형 웹이란redribbon1307
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Sang Seok Lim
 
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드Devgear
 
원모먼트 Vue js 적용기
원모먼트 Vue js 적용기원모먼트 Vue js 적용기
원모먼트 Vue js 적용기우현 김
 
모바일웹Ui개발 저자세미나 0부
모바일웹Ui개발 저자세미나 0부모바일웹Ui개발 저자세미나 0부
모바일웹Ui개발 저자세미나 0부NAVER D2
 
웹 디자이너의 도전: Vue.js 따라하기
웹 디자이너의 도전: Vue.js 따라하기웹 디자이너의 도전: Vue.js 따라하기
웹 디자이너의 도전: Vue.js 따라하기Seungmin Lee
 
푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스
푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스
푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스Hyun-Seok Lee
 
드래그홈 표준제안서 2014
드래그홈 표준제안서 2014드래그홈 표준제안서 2014
드래그홈 표준제안서 2014draghome
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 우영 주
 
비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초Gihyo Joshua Jang
 
마크업개발자가 UX를 알아야 하는 이유
마크업개발자가 UX를 알아야 하는 이유마크업개발자가 UX를 알아야 하는 이유
마크업개발자가 UX를 알아야 하는 이유Woo Sanghun
 
2013 블로그코디 홈로그 소개서
2013 블로그코디 홈로그 소개서2013 블로그코디 홈로그 소개서
2013 블로그코디 홈로그 소개서블로그코디
 

What's hot (20)

2016웹트렌드와 반응형웹
2016웹트렌드와 반응형웹2016웹트렌드와 반응형웹
2016웹트렌드와 반응형웹
 
반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2
 
Fuse소개
Fuse소개Fuse소개
Fuse소개
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계
기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계  기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계
기획자를 위한 최신 모바일웹 트랜드와 반응형 웹 화면 설계
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
 
응답하라 반응형웹 - 1. 반응형 웹이란
응답하라 반응형웹 - 1. 반응형 웹이란응답하라 반응형웹 - 1. 반응형 웹이란
응답하라 반응형웹 - 1. 반응형 웹이란
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
 
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
 
원모먼트 Vue js 적용기
원모먼트 Vue js 적용기원모먼트 Vue js 적용기
원모먼트 Vue js 적용기
 
모바일웹Ui개발 저자세미나 0부
모바일웹Ui개발 저자세미나 0부모바일웹Ui개발 저자세미나 0부
모바일웹Ui개발 저자세미나 0부
 
웹 디자이너의 도전: Vue.js 따라하기
웹 디자이너의 도전: Vue.js 따라하기웹 디자이너의 도전: Vue.js 따라하기
웹 디자이너의 도전: Vue.js 따라하기
 
푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스
푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스
푸시윙 - 앱이 없는 웹사이트를 위한 무료 푸시 알림 서비스
 
Overview
OverviewOverview
Overview
 
드래그홈 표준제안서 2014
드래그홈 표준제안서 2014드래그홈 표준제안서 2014
드래그홈 표준제안서 2014
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
 
비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초
 
Webdpt
WebdptWebdpt
Webdpt
 
마크업개발자가 UX를 알아야 하는 이유
마크업개발자가 UX를 알아야 하는 이유마크업개발자가 UX를 알아야 하는 이유
마크업개발자가 UX를 알아야 하는 이유
 
2013 블로그코디 홈로그 소개서
2013 블로그코디 홈로그 소개서2013 블로그코디 홈로그 소개서
2013 블로그코디 홈로그 소개서
 

Similar to 한발 앞서 배워보는 Xamarin overview

Xamarin.Forms (MVP ComCamp 2015)
Xamarin.Forms (MVP ComCamp 2015)Xamarin.Forms (MVP ComCamp 2015)
Xamarin.Forms (MVP ComCamp 2015)Gilbok Lee
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용jinwook shin
 
[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점
[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점
[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점양재동 코드랩
 
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점양재동 코드랩
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향ssuser0e53c8
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012Daum DNA
 
Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1성일 한
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료JinHyuck Churn
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)DONGSU KIM
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
 
K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용jinwook shin
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting승빈이네 공작소
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔NAVER D2
 
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가? Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가? 정민 안
 
gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기Manjong Han
 
어플리케이션 및 웹 개발
어플리케이션 및 웹 개발어플리케이션 및 웹 개발
어플리케이션 및 웹 개발Leonardo Taehwan Kim
 

Similar to 한발 앞서 배워보는 Xamarin overview (20)

Xamarin.Forms (MVP ComCamp 2015)
Xamarin.Forms (MVP ComCamp 2015)Xamarin.Forms (MVP ComCamp 2015)
Xamarin.Forms (MVP ComCamp 2015)
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용K모바일발표 120113 남들보다뛰어난앱만들기_공유용
K모바일발표 120113 남들보다뛰어난앱만들기_공유용
 
[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점
[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점
[W3C HTML5 2016] Ionic 하이브리드 앱 개발하기, 사례와 시사점
 
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
2016 W3C Conference #8 : IONIC으로 하이브리드 앱 개발하기, 사례와 시사점
 
1. 자마린(xamarin) 1-2 자마린설치
1. 자마린(xamarin) 1-2 자마린설치1. 자마린(xamarin) 1-2 자마린설치
1. 자마린(xamarin) 1-2 자마린설치
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
Goorm
GoormGoorm
Goorm
 
클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012클라우드 IDE, 구름 프로젝트 | Devon 2012
클라우드 IDE, 구름 프로젝트 | Devon 2012
 
Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1Ionic으로 모바일앱 만들기 #1
Ionic으로 모바일앱 만들기 #1
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
 
K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용K모바일발표 111026 하이브리드ux_배포용
K모바일발표 111026 하이브리드ux_배포용
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
 
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가? Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
Let'Swift 2023 iOS 애플리케이션 개발 생산성 고찰
- 정시 퇴근을 위해 우리는 어떻게 해야할 것인가?
 
gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기gradle로 안드로이드 앱 빌드하기
gradle로 안드로이드 앱 빌드하기
 
어플리케이션 및 웹 개발
어플리케이션 및 웹 개발어플리케이션 및 웹 개발
어플리케이션 및 웹 개발
 

More from Young D

HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법Young D
 
Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법Young D
 
티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법Young D
 
ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링Young D
 
유연하게 확장할 수 있는 PHP 웹 개발 이야기
유연하게 확장할 수 있는 PHP 웹 개발 이야기유연하게 확장할 수 있는 PHP 웹 개발 이야기
유연하게 확장할 수 있는 PHP 웹 개발 이야기Young D
 
Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Young D
 
iBeacons가 뭔가
iBeacons가 뭔가iBeacons가 뭔가
iBeacons가 뭔가Young D
 
CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치Young D
 
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리Young D
 
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까Young D
 
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDTPHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDTYoung D
 
[협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 [협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 Young D
 
교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basic교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basicYoung D
 

More from Young D (13)

HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
 
Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법
 
티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법티켓몬스터를 위한 PHP 개발 방법
티켓몬스터를 위한 PHP 개발 방법
 
ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링
 
유연하게 확장할 수 있는 PHP 웹 개발 이야기
유연하게 확장할 수 있는 PHP 웹 개발 이야기유연하게 확장할 수 있는 PHP 웹 개발 이야기
유연하게 확장할 수 있는 PHP 웹 개발 이야기
 
Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법
 
iBeacons가 뭔가
iBeacons가 뭔가iBeacons가 뭔가
iBeacons가 뭔가
 
CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치
 
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리
 
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
 
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDTPHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
 
[협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 [협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우
 
교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basic교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basic
 

한발 앞서 배워보는 Xamarin overview

  • 1.
  • 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