Xamarin을 사용한 모바일 개발에 대해 알아보기Learn about mobile development with Xamarin

이 문서에서는 Xamarin을 사용한 플랫폼 간 모바일 앱 개발을 이해하는 데 도움이 되는 몇 가지 개요가 나열되어 있습니다.This article lists several overviews that can help you understand developing cross-platform mobile apps with Xamarin. 아직 Visual Studio 및 Xamarin을 설치하지 않았으면 먼저 설정 및 설치 프로세스를 시작하고 여기로 돌아와서 설치 관리자가 실행되는 동안 이러한 리소스를 살펴봅니다.If you have not yet installed Visual Studio and Xamarin, start the Setup and install process first, then return here to work through these resources while the installers are running.

참고

별도로 명시하지 않는 한, 처음에는 부수적인 페이지가 아닌 여기에 직접 연결된 페이지만 읽는 것이 좋습니다.Unless otherwise noted, initially you might want to read only those pages linked directly from here, and not subsidiary pages. 이 목록이 완료된 후에도 설치 프로세스가 계속 실행 중이면 돌아가서 추가 항목을 살펴볼 수 있습니다.If the installation process is still running after completing this list, feel free to go back and explore additional topics.

또한 "주요 사항"으로 표시된 항목을 자유롭게 검토한 후 나중에 "심층 분석" 항목을 확인합니다.Also feel free to review the topics marked "Essentials" and come back to the "Deeper Dive" topics later.

주요 사항: Xamarin 소개Essentials: Introduction to Xamarin

10~20분10-20 minutes

  1. Xamarin을 사용한 Visual Studio의 모바일 앱(visualstudio.com)에 Xamarin의 기본 특성에 대한 짧은 설명이 있습니다.Mobile Apps in Visual Studio with Xamarin (visualstudio.com) provides a short rundown of the primary characteristics of Xamarin.

  2. Xamarin 전문가인 James Montemagno와 함께하는C# 및 Visual Studio를 사용하여 플랫폼 간 모바일 앱 빌드 (영문)(Channel9, 15분 16초).Building Cross-Platform Mobile Apps using C# and Visual Studio (Channel9, 15m16s) with Xamarin evangelist, James Montemagno. 처음 3분은 Xamarin 개요이고 코드 데모가 뒤따릅니다.The first three minutes are a Xamarin overview, followed by code demonstrations.

주요 사항: Visual Studio 및 Xamarin 환경 개요Essentials: Overview of the Visual Studio and Xamarin Environment

5~15분5-15 minutes

  • Visual Studio 및 Xamarin이 설치된 Windows 컴퓨터에서 대부분의 작업을 수행합니다.You'll do most of your work on the Windows computer installed with Visual Studio and Xamarin. 이 컴퓨터에서 직접 Windows 및 Android 앱을 빌드하고 데스크톱, 장치 또는 에뮬레이터에서 실행 및 디버그합니다.On this computer, you directly build Windows and Android apps and run and debug them on the desktop, devices, or emulators. 또한 Mac을 통해 원격으로 iOS 앱을 빌드, 실행 및 디버그할 수 있습니다.You can also remotely build, run, and debug iOS apps via the Mac. Windows 컴퓨터의 Visual Studio를 iOS 스토리보드 디자이너 및 iOS 시뮬레이터에 연결할 수도 있습니다.Visual Studio on the Windows computer can also connect to the iOS storyboard designer and the iOS simulator.

  • Xcode 및 Mac용 Visual Studio가 설치된 Mac은 iOS 앱용 빌드 호스트, 서명 호스트 및 런타임 환경으로 사용됩니다.The Mac with Xcode and Visual Studio for Mac installed serves as the build host, signing host, and runtime environment for iOS apps. Windows 컴퓨터는 iOS 빌드를 이 Mac에 위임합니다.The Windows computer delegates iOS builds to this Mac. 응용 프로그램이 Mac의 iOS 시뮬레이터에서 또는 Mac에 연결된 테더링된 장치에서 직접 실행됩니다.The application runs on an iOS simulator on the Mac, or directly on a tethered device connected to the Mac. Mac에서 앱과 상호 작용할 수 있지만 디버깅 환경은 Visual Studio에서 수행합니다.You can interact with the app on the Mac, but conduct the debugging experience in Visual Studio.

이러한 관계는 아래에서 설명합니다.These relationships are illustrated below.

Xamarin 환경에서 Windows 및 Mac 개발 컴퓨터 간의 관계The relationship between Windows and Mac dev computers in a Xamarin environment

참고

이 다이어그램에는 완결성을 위한 Windows Phone이 나와 있습니다.The Windows Phone is shown in this diagram for purposes of completeness. Xamarin 플랫폼을 사용할 경우 권장되는 코드 공유 옵션은 .NET Standard 2.0 라이브러리입니다. 이는 Windows Phone 또는 Windows 10 Mobile 장치와 호환되지 않습니다.When using the Xamarin platform, the recommended code-sharing option is a .NET Standard 2.0 library, which is incompatible with Windows Phone or Windows 10 Mobile devices.

iOS 앱 작업에 대한 자세한 내용은 Visual Studio용 Xamarin.iOS 소개를 참조하세요.You can read more about working with iOS apps on Introduction to Xamarin.iOS for Visual Studio.

주요 사항: 프로젝트 구성 방법Essentials: How projects are structured

10~30분10-30 minutes

  1. 코드 공유 옵션.Sharing Code Options. 새 응용 프로그램의 경우 .NET Standard 라이브러리를 사용하여 코드를 공유할 수 있습니다.For new applications, you should use a .NET Standard library to share code. 데이터베이스 액세스, REST API 호출 및 이식 가능한 Xamarin 구성 요소 호출을 포함한 대부분 비즈니스 논리 코드는 .NET Standard 라이브러리에 있습니다.Most business logic code will reside in the .NET Standard library, including access to databases, calls to REST APIs, and calls to portable Xamarin components. (이 문서의 끝에 있는 심층 분석: Xamarin 구성 요소를 참조하세요.)(See Deeper Dive: Xamarin Components at the end of this article). 또한 Xamarin.Forms로 작성된 일반적인 UI 코드는 .NET Standard 라이브러리에 있습니다.Common UI code written with Xamarin.Forms also resides in a .NET Standard library.

  2. (선택 사항) 사례 연구: Tasky에서는 데이터, 데이터 액세스 및 비즈니스 계층을 구분하는 공유 코드에 대한 프로젝트 구조를 지정하는 것과 같은 전 기능 앱의 디자인 및 구조에 대한 몇 가지 모범 사례를 설명합니다.(Optional) Case Study: Tasky describes some best practices for design and structure of a full-featured app, such as structuring the project with shared code that separates data, data access, and business layers.

주요 사항: 네이티브 및 Xamarin.Forms UI 계층Essentials: native and Xamarin.Forms UI layers

10~40분10-40 minutes

Xamarin에서는 Xamarin Native 및 Xamarin.Forms의 두 가지 방법으로 뛰어난 앱을 빌드할 수 있습니다.Xamarin provides two ways to build great apps: Xamarin Native and Xamarin.Forms.

Xamarin Native를 사용하여 iOS, Android 및 Windows 각 대상 플랫폼에 대한 별도의 UI 코드를 작성합니다.With Xamarin Native, you write separate UI code for each target platform: iOS, Android, and Windows. 이 방법을 사용하면 플랫폼별 API에 직접 액세스하여 플랫폼마다 사용자 지정된 UI 환경을 디자인할 수 있습니다.With this approach, you have direct access to platform-specific APIs to design a customized UI experience per platform. 각 플랫폼에 대한 기본 디자이너 및 컨트롤에 대해 모든 권한을 얻게 되므로 각 UI 구축에 도움이 됩니다.You also have full access to the native designer and controls for each platform to help with building the respective UI.

Xamarin.Forms는 모든 플랫폼에 대한 공유 UI 계층을 .NET Standard 라이브러리에 작성할 수 있는 일반화된 API 집합을 제공합니다.Xamarin.Forms provides a generalized set of APIs that lets you write a shared UI layer for all platforms in a .NET Standard library. Xamarin.Forms는 각 대상 플랫폼에 네이티브 컨트롤을 렌더링하여 네이티브 모양 및 느낌을 제공합니다.Xamarin.Forms renders to native controls on each target platform to provide a native look and feel. 디자이너를 사용하는 대신 C# 및 XAML을 사용하여 UI를 빌드할 수 있습니다.Rather than using a designer, you build your UI using C# and XAML.

대부분의 개발자는 Xamarin.Forms를 사용합니다.Most developers use Xamarin.Forms. 이는 Xamarin을 처음 접하는 개발자에게 권장되는 방법입니다.This is the recommended route for developers new to Xamarin. Xamarin Native 접근 방식은 더 어렵고 대상 플랫폼에 대한 더 자세한 지식이 필요합니다.The Xamarin Native approach is more difficult and requires more detailed knowledge of the target platforms.

어떤 방법을 사용할지 고민할 필요가 없습니다. Xamarin Native와 Xamarin.Forms의 조합을 사용하여 앱을 구현할 수 있습니다.You don't need to decide which approach to take up front; apps can be implemented using a combination of both Xamarin Native and Xamarin.Forms:

  • Xamarin.Forms를 사용하여 범용 화면을 빌드합니다.Use Xamarin.Forms to build general-purpose screens. 이러한 화면은 로그인, 연락처 양식 및 검색 결과와 같이 플랫폼 간에 유사한 사용자 인터페이스 및 기능을 제공합니다.These provide similar user interfaces and capabilities across platforms, such as logins, contact forms, and search results.

  • Xamarin.Forms의 다양한 사용자 지정 기능을 사용하여 플랫폼별 기준으로 UI를 조정합니다.Use a variety of customization capabilities in Xamarin.Forms to adjust the UI on a per-platform basis. 가장 간단한 사용자 지정 옵션에는 OnPlatform API가 포함됩니다.The simplest customization option involves the OnPlatform API. 또한 사용자 지정 보기를 만들고, 기존 렌더러를 확장하고, 사용자 지정 렌더러를 만들 수 있습니다.You can also create custom views, extend existing renderers, and create custom renderers.

  • 필요한 경우 Xamarin Native를 사용하여 각 플랫폼의 고유한 UI 기능을 사용하는 화면을 빌드할 수 있습니다.If necessary, use Xamarin Native to build screens that use unique UI features of each platform. 한 가지 예로, 네이티브 카메라 캡처 및 이미지 조작을 사용하는 화면이 있습니다.One example is a screen that uses native camera capture and image manipulation.

일반적으로 먼저 플랫폼 간에 공유되는 UI 코드를 설정하는 Xamarin.Forms 솔루션으로 시작해야 합니다.You should generally start with a Xamarin.Forms solution to set up UI code sharing across platforms. 사용자 지정 기능을 사용하여 플랫폼별 조정을 수행합니다.Use the customization capabilities to then make platform-specific adjustments. 완전한 플랫폼별 화면이 필요한 경우 Xamarin Native를 사용하여 개별적으로 추가할 수 있습니다.If and when you need wholly platform-specific screens, you can add those individually using Xamarin Native.

자세히 알아보려면:To learn more:

  1. Xamarin.Forms에서는 Xamarin.Forms와 네이티브 UI 레이어(Xamarin.iOS 및 Xamarin.Android) 간 장점 및 단점 비교와 간단한 개요를 제공합니다.Xamarin.Forms provides a brief overview and the pros and cons of Xamarin.Forms vs. native UI layers (that is, Xamarin.iOS and Xamarin.Android).

  2. James Montemagno의 비디오 Xamarin.Forms: Native iOS, Android & Windows apps with C# & XAML(Xamarin.Forms: C# 및 XAML을 이용한 네이티브 iOS, Android 및 Windows 앱)(Channel9, 13분 3초)에서 처음 3분은 또 다른 개요를 제공하고 데모를 계속 시청할 수 있습니다.The first three minutes of James Montemagno's video Xamarin.Forms: Native iOS, Android & Windows apps with C# & XAML (Channel9, 13m3s) gives another overview, and you can continue watching for demos.

  3. (선택 사항) Xamarin.Forms 소개(Optional) An Introduction to Xamarin.Forms

  4. (선택 사항) 장치 클래스 설명서에서 사용자 지정을 위해 OnPlatform을 사용하는 예제 참조(Optional) See examples of using OnPlatform for customization in the Device Class documentation

  5. (선택 사항) Jason Smith(MSDN Magazine)의 크로스 플랫폼 - Xamarin.Forms를 사용하여 모바일 플랫폼 간에 UI 코드 공유에서는 Xamarin.Forms 내의 다양한 사용자 지정 옵션에 대해 간략히 설명하며 자세한 내용은 사용자 지정 렌더러에 나와 있습니다.(Optional) Cross-Platform - Share UI Code Across Mobile Platforms with Xamarin.Forms by Jason Smith (MSDN Magazine) outlines the different customization options within Xamarin.Forms, for which the details are covered on Custom Renderers.

심층 분석: 에뮬레이터를 사용한 디버깅Deeper Dive: Debugging with Emulators

10~15분10-15 minutes

물리적 장치를 사용하지 않고도 플랫폼 간 앱을 디버깅하려면 다음에서 논의된 에뮬레이터를 사용해야 합니다.To debug your cross-platform apps without having to use a physical device, you will need to use emulators discussed here:

Microsoft의 Android 에뮬레이터Microsoft's Android emulator

Visual Studio와 함께 설치되는 Microsoft의 Visual Studio Emulator for Android를 사용하는 것이 좋습니다.It is recommended that you use Microsoft's Visual Studio Emulator for Android, which is installed with Visual Studio. Visual Studio Emulator for Android 비디오(영문)(Channel9, 5분 55초)에서는 개요 및 데모를 제공합니다.The Visual Studio Emulator for Android video (Channel9, 5m55s) gives an overview and demonstration.

Apple의 iOS 시뮬레이터Apple's iOS Simulator

자세한 내용은 iOS 시뮬레이터 시작 (영문)(apple.com)을 참조하세요.To learn more, read Getting Started with the iOS Simulator (apple.com).

Microsoft의 Windows Phone 에뮬레이터.Microsoft's Windows Phone Emulator.

자세한 내용은 Windows 10 Mobile용 Microsoft 에뮬레이터 테스트를 읽어 보세요.To learn more, read Test with the Microsoft Emulator for Windows 10 Mobile.

Deeper Dive: Xamarin ComponentsDeeper Dive: Xamarin Components

10분10 minutes

Xamarin 구성 요소를 통해 대부분 확장 기능을 Xamarin 앱에 사용할 수 있습니다.Many extended capabilities are available to Xamarin apps through Xamarin components. 추가 UI 컨트롤, 인증, 다양한 클라우드 서비스(예: Microsoft Azure) 등을 비롯한 다운로드할 수 있는 전체 카탈로그는 http://components.xamarin.com/에서 찾을 수 있습니다.You can find the full catalog available for download on http://components.xamarin.com/, which includes components for additional UI controls, authentication, a variety of cloud services such as Microsoft Azure, and much more.