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

이 항목에서는 Xamarin을 사용한 플랫폼 간 모바일 앱 개발을 이해하는 데 도움되는 개요 자료를 안내합니다.This topic directs you to overview material that helps you understand developing cross-platform mobile apps with Xamarin. 아직 Visual Studio 및 Xamarin을 설치하지 않았으면 먼저 Setup and install 프로세스를 시작하고 여기로 돌아와서 설치 관리자가 실행되는 동안 이러한 리소스를 살펴봅니다.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, we suggest initially reading only those pages linked to directly 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 very 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 컴퓨터에서 대부분 작업을 수행합니다.The Windows computer with Visual Studio and Xamarin is where you'll do most of your work. 이 컴퓨터에서 직접 Windows 및 Android 앱을 빌드하고 장치나 에뮬레이터에서 실행 및 디버그합니다.On this computer you directly build Windows and Android apps and run and debug them on a device or an emulator. Mac을 통해 원격으로 iOS 앱을 빌드, 실행 및 디버그할 수도 있습니다.You 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 및 Xamarin이 설치된 Mac은 iOS 앱용 빌드/서명 호스트 및 런타임 환경으로 사용됩니다.The Mac with Xcode and Xamarin serves as the build/signing host and runtime environment for iOS apps. Windows 컴퓨터의 Visual Studio에서 iOS에 대한 빌드는 이 Mac으로 위임됩니다. Visual Studio에서 iOS 앱을 디버그하면 앱은 Mac의 iOS 시뮬레이터에서 실행되거나 Mac에 연결된 테더링된 장치에서 직접 실행됩니다.Builds for iOS from Visual Studio on the Windows computer are delegated to this Mac; when debugging an iOS app from Visual Studio, it runs in the iOS simulator on the Mac or directly on a tethered device connected to the Mac. 이 경우 Mac이나 그 주변에서 앱을 조작하고 Visual Studio에서 디버깅을 수행합니다.In this case you'll interact with the app on or near the Mac, and have your debugging experience in Visual Studio.

    이러한 관계는 아래에서 설명하고 iOS 앱 작업에 대한 자세한 내용은 Visual Studio용 Xamarin.iOS 소개 (영문)(xamarin.com)를 참조하세요.These relationships are illustrated below, and you can read more about working with iOS apps on Introduction to Xamarin.iOS for Visual Studio (xamarin.com).

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

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

10~30분10-30 minutes

  1. 코드 공유 옵션 (영문)(xamarin.com).Sharing Code Options (xamarin.com). 이식 가능한 클래스 라이브러리 옵션은 모든 대상 플랫폼에서 지원되는 .NET API만 사용하는 작업을 가장 잘 지원하므로 이 옵션을 사용하는 것이 좋습니다.We recommend using the portable class libraries option, as it best supports using only those .NET APIs that are supported across all target platforms. 데이터베이스 액세스, REST API 호출 및 이식 가능한 Xamarin 구성 요소 호출을 포함한 대부분 비즈니스 논리 코드는 PCL에 있습니다(이 항목 끝에 나오는 Deeper Dive: Xamarin Components 참조).Most business logic code will reside in the PCL, including access to databases, calls to REST APIs, and calls to portable Xamarin components (see Deeper Dive: Xamarin Components at the end of this topic). Xamarin.Forms로 작성된 일반적인 UI 코드가 PCL에 있을 수도 있습니다.Common UI code written with Xamarin.Forms can also reside in a PCL.

  2. (선택 사항) 사례 연구: Tasky (영문)(xamarin.com)에서는 데이터, 데이터 액세스 및 비즈니스 계층을 구분하는 공유 코드에 대한 PCL을 사용하여 프로젝트 구조를 지정하는 것과 같은 전기능 앱의 디자인 및 구조에 대한 몇 가지 모범 사례를 설명합니다.(Optional) Case Study: Tasky (xamarin.com), describes some best practices for design and structure of a full-featured app such as structuring the project with a PCL for 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 native 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 allowing 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 계층을 이식 가능한 클래스 라이브러리에 작성할 수 있는 일반화된 API 집합을 제공합니다.Xamarin.Forms provides a generalized set of APIs that lets you write a shared UI layer for all platforms in a portable class library. Xamarin.Forms는 각 대상 플랫폼에 네이티브 컨트롤을 렌더링하여 네이티브 모양 및 느낌을 제공합니다.Xamarin.Forms renders to native controls on each target platform to give a native look and feel. 디자이너 대신 Xamarin.Forms를 사용하면 C# 및 XAML을 사용하여 UI를 빌드할 수 있습니다.Rather than using a designer, with Xamarin.Forms, you build your UI using C# and XAML.

어떤 방법을 사용할지 고민할 필요가 없습니다. 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를 사용하여 로그인, 연락처 양식 및 검색 결과와 같이 플랫폼 간에 유사한 UI 및 기능을 제공하는 범용 화면을 빌드합니다.Use Xamarin.Forms to build general-purpose screens that provide similar UI 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 UI on a per-platform basis. 여기에는 코드 및 XAML 둘 다에서 사용하여 사용자 지정 보기를 만들고, 기존 렌더러를 확장하고, 사용자 지정 렌더러를 만들 수 있는 OnPlatform API가 포함됩니다.These include the OnPlatform API that can be used from both code and XAML, creating a custom view, extending an existing renderer, and creating a custom renderer.

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

    항상 Xamarin.Forms 솔루션부터 시작하여 플랫폼 간에 공유되는 UI 코드를 설정하고 사용자 지정 기능을 사용하여 플랫폼별 조정을 수행하는 것이 좋습니다.We recommend always starting with a Xamarin.Forms solution to set up UI code sharing across platforms, and using the customization capabilities to 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.com)에서는 Xamarin.Forms 및 네이티브 UI 레이어(Xamarin.iOS 및 Xamarin.Android)에 대한 간단한 개요와 장점 및 단점을 제공합니다.Xamarin.Forms (xamarin.com) 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 소개 (영문)(xamarin.com)(Optional) An Introduction to Xamarin.Forms (xamarin.com)

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

  5. (선택 사항) Jason Smith(MSDN Magazine)의 크로스 플랫폼 - Xamarin.Forms를 사용하여 모바일 플랫폼 간에 UI 코드 공유 (영문)에서는 Xamarin.Forms 내의 다양한 사용자 지정 옵션에 대해 설명하며 자세한 내용은 각 플랫폼의 컨트롤 사용자 지정 (영문)(xamarin.com)에 나와 있습니다.(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 Customizing Controls on Each Platform (xamarin.com).

심층 분석: 에뮬레이터를 사용한 디버깅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 the following:

  1. Android 에뮬레이터.An Android emulator. 사용 중인 Windows 버전에 따라, Microsoft의 Visual Studio Emulator for Android 또는 Xamarin Player를 사용하는 것이 좋습니다. 두 제품 모두 빠른 성능을 제공하고 다양한 장치 기능을 지원합니다.Depending on which version of Windows you are using, we recommend either Microsoft's Visual Studio Emulator for Android or the Xamarin Player, both of which offer fast performance and support a variety of device capabilities:

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

  3. Microsoft's Windows Phone Emulator.Microsoft's Windows Phone Emulator. 자세한 내용은 Windows Phone 8용 Windows Phone Emulator(영문)를 참조하세요.To learn more, read Windows Phone Emulator for Windows Phone 8.

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.