경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

41
Xamarin을 이용한 크로스 플랫폼 앱 개발 Xamarin for Cross-Platform 29기 이현규 © Eguni. All right reserved. 2016 Hacker Seminar

Transcript of 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Page 1: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin을 이용한

크로스 플랫폼 앱 개발

Xamarin for Cross-Platform

29기 이현규

© Eguni. All right reserved.

2016 Hacker Seminar

Page 2: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

INDEX

1. Introduction of Xamarin

2. Xamarin 개발에 필요한 것들

3. Xamarin 기본 구조 맛보기

4. 레퍼런스 가이드

Page 3: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

어리버리한 부회장(?)

C#으로 꾸준히 개발해 온 (현재까지는)C# 개발자

.NET으로 이것저것 건드리면서 노는 걸 좋아함

최근에 Xamarin을 접하고 열렬히 공부 중!

자기소개!

Page 4: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Introduction of Xamarin 자마린? 그게 뭔데?

Page 5: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개 : Mono?

Xamarin을 설명하기 위해 먼저 Mono부터..

.NET 기술들은 .NET Framework가설치되어 있어야 사용할 수 있음

Windows에서만 지원되는 .NET Framework다른 플랫폼에서도 지원되게 할 수는?

그래서 등장한 것이 Mono

Page 6: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개

Page 7: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개

+ =

Page 8: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개

Page 9: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개

Xamarin : C#을 사용하는 모바일 앱 개발 도구

Cross-Platform 지원Android, iOS, Windows Phone 개발을 한 번에!어마어마한 비용의 절약이 가능

모바일 앱 개발 뿐만 아니라Windows, Mac App 개발도 동시에 가능!

Page 10: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개

Page 11: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 소개

MS에서 Xamarin 전격 인수

Page 12: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin을 왜 사용해야 하는가?

1. 크로스 플랫폼 지원

- 여러 플랫폼에 공유되는 모듈을 통해 개발 시간의 단축 유도

2. 모바일 환경 개발에서의 .NET 라이브러리 지원

- 기존 .NET 프로그래머가 쉽게 적응할 수 있는 환경에서 모바일 앱 개발 가능

Page 13: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Windows APIs for Xamarin

Page 14: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Windows + Android APIs for Xamarin

Page 15: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Windows + iOS APIs for Xamarin

Page 16: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 개발에 필요한 것들뭔지는 알겠는데, 뭘 깔아야 되는데?

Page 17: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 개발용 IDE

Xamarin Studio Visual Studio

Page 18: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)
Page 19: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)
Page 20: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Emulator for Android

Xamarin Android Player(currently deprecated)

Visual Studio Android Emulator

Page 21: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

가장 중요한 것

← iOS 개발에 필수

Page 22: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Windows <-> Mac 연동

Page 23: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Windows <-> Mac 연동

Page 24: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 구조 맛보기흠, 그래서 구조는 어떻게 되어 있다고?

Page 25: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin Basic Structure

백엔드는 Full-Shared Code

프론트엔드는 각각 따로 작업해 줘야 함Android의 네이티브 컨트롤,iOS의 네이티브 컨트롤… 등이 다 다르기 때문

가장 기본적인 Xamarin의 구조그런데 프론트엔드를 꼭 이렇게 해야...?

Page 26: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin Basic Structure

Page 27: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin Basic Structure + Xamarin.Forms

Xamarin.Forms :프론트엔드 단을 크로스 플랫폼으로 처리

네이티브 컨트롤 처리 / 플랫폼별 UI 분기 처리는유지하되, 공통되는 부분은 한꺼번에 처리

axml 형식의 UI 출력

진정한 의미의 크로스 플랫폼!

Page 28: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin Solution Architecture

Page 29: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin Solution Architecture

Page 30: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Code Sharing Options

Page 31: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Shared Asset Project vs PCL

Page 32: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Shared Asset Project

Page 33: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Portable Class Library

Page 34: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Shared Project vs PCL

[자마린 개발자 커뮤니티, Xamarin님 글 인용]

Page 35: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

NuGet 지원

Page 36: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

Xamarin 레퍼런스 가이드더 공부하고 싶은데, 어디서 공부함?

Page 37: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

우선은 책부터

Page 38: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

커뮤니티는?

Page 39: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)

전문적으로 배울 곳은?

https://www.xamarin.com/university

Page 40: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)
Page 41: 경희대 해커 기술 세미나 - Xamarin을 이용한 크로스 플랫폼 앱 개발(이현규)