Xamarin.Forms이란?What is Xamarin.Forms?

IOS 및 Android의 예제 Xamarin Forms 응용 프로그램 스크린샷Screenshots of example Xamarin.Forms application in iOS and Android

Xamarin.ios는 오픈 소스 UI 프레임 워크입니다.Xamarin.Forms is an open-source UI framework. Xamarin.ios를 사용 하면 개발자가 단일 공유 코드 베이스에서 Android, iOS 및 Windows 응용 프로그램을 빌드할 수 있습니다.Xamarin.Forms allows developers to build Android, iOS, and Windows applications from a single shared codebase.

Xamarin.ios를 사용 하면 개발자가의 C#코드 숨김으로 XAML로 사용자 인터페이스를 만들 수 있습니다.Xamarin.Forms allows developers to create user interfaces in XAML with code-behind in C#. 이러한 인터페이스는 각 플랫폼에서 성능의 네이티브 컨트롤로 렌더링 됩니다.These interfaces are rendered as performant native controls on each platform.

에 대 한 Xamarin 양식Who Xamarin.Forms is for

Xamarin.ios는 다음과 같은 목표를 가진 개발자를 위한 것입니다.Xamarin.Forms is for developers with the following goals:

  • 플랫폼 간에 UI 레이아웃 및 디자인을 공유 합니다.Share UI layout and design across platforms.
  • 플랫폼 간에 코드, 테스트 및 비즈니스 논리를 공유 합니다.Share code, test and business logic across platforms.
  • Visual Studio C# 를 사용 하 여 플랫폼 간 앱을 작성 합니다.Write cross-platform apps in C# with Visual Studio.

Xamarin 양식 작동 방법How Xamarin.Forms works

Xamarin.ios 아키텍처 다이어그램

Xamarin.ios는 플랫폼에서 UI 요소를 만들기 위한 일관 된 API를 제공 합니다.Xamarin.Forms provides a consistent API for creating UI elements across platforms. 이 API는 XAML에서 구현 하거나 C# MVVM (모델-뷰-ViewModel)와 같은 패턴에 대 한 데이터 바인딩을 지원 합니다.This API can be implemented in either XAML or C# and supports databinding for patterns such as Model-View-ViewModel (MVVM).

런타임에 Xamarin은 플랫폼 렌더러를 활용 하 여 플랫폼 간 UI 요소를 Android, iOS 및 UWP의 네이티브 컨트롤로 변환 합니다.At runtime, Xamarin.Forms utilizes platform renderers to convert the cross-platform UI elements into native controls on Android, iOS and UWP. 개발자는를 사용 하 여 플랫폼 간 코드 공유의 이점을 인식 하면서 네이티브 모양, 느낌 및 성능을 얻을 수 있습니다.The allows developers to get native look, feel and performance while realizing the benefits of code sharing across platforms.

Xamarin Forms 응용 프로그램은 일반적으로 공유 .NET Standard 라이브러리와 개별 플랫폼 프로젝트로 구성 됩니다.Xamarin.Forms applications typically consist of a shared .NET Standard library and individual platform projects. 공유 라이브러리에는 XAML 또는 C# 뷰와 서비스, 모델 또는 기타 코드와 같은 비즈니스 논리가 포함 되어 있습니다.The shared library contains the XAML or C# views and any business logic such as services, models or other code. 플랫폼 프로젝트에는 응용 프로그램에 필요한 플랫폼별 논리 또는 패키지가 포함 됩니다.The platform projects contain any platform-specific logic or packages the application requires.

Xamarin.ios는 Xamarin을 사용 하 여 플랫폼 간에 .NET 응용 프로그램을 기본적으로 실행 합니다.Xamarin.Forms uses Xamarin to run .NET applications natively across platforms. Xamarin에 대 한 자세한 내용은 xamarin 이란?을 참조 하세요.For more information about Xamarin, see What is Xamarin?.

추가 도구Additional tools

Xamarin.ios에는 응용 프로그램에 다양 한 기능을 추가 하는 NuGet 패키지의 많은 에코 시스템이 있습니다.Xamarin.Forms has a large ecosystem of NuGet packages that add diverse functionality to applications. 이 섹션에서는 몇 가지 자주 사용 되는 NuGet 패키지에 대해 설명 합니다.This section describes a few commonly-used NuGet packages.

Xamarin.EssentialsXamarin.Essentials

Xamarin.ios는 네이티브 장치 기능에 대 한 플랫폼 간 Api를 제공 하는 라이브러리입니다.Xamarin.Essentials is a library that provides cross-platform APIs for native device features. Xamarin 자체와 마찬가지로, Xamarin은 네이티브 유틸리티에 액세스 하는 프로세스를 간소화 하는 추상화입니다.Like Xamarin itself, Xamarin.Essentials is an abstraction that simplifies the process of accessing native utilities. Xamarin.ios에서 제공 하는 유틸리티의 몇 가지 예는 다음과 같습니다.Some examples of utilities provided by Xamarin.Essentials include:

  • 장치 정보Device info
  • 파일 시스템File system
  • 가속도계Accelerometer
  • 전화 걸기Phone dialer
  • 텍스트 음성 변환Text-to-speech
  • 화면 잠금Screen lock

자세한 내용은 xamarin.ios를 참조 하세요.For more information, see Xamarin.Essentials.

Shell

Xamarin.ios Shell은 대부분의 응용 프로그램에 필요한 기본 기능을 제공 하 여 모바일 응용 프로그램 개발의 복잡성을 줄입니다.Xamarin.Forms Shell reduces the complexity of mobile application development by providing the fundamental features that most applications require. 셸에 의해 제공 되는 기능의 몇 가지 예는 다음과 같습니다.Some examples of features provided by Shell include:

  • 일반적인 탐색 환경Common navigation experience
  • URI 기반 탐색 체계URI-based navigation scheme
  • 통합 검색 처리기Integrated search handler

자세한 내용은 Xamarin.ios Shell (영문)을 참조 하세요.For more information, see Xamarin.Forms Shell

플랫폼 사양Platform-specifics

Xamarin은 플랫폼 간에 네이티브 컨트롤을 렌더링 하는 공용 API를 제공 하지만 특정 플랫폼에는 다른 플랫폼에 없는 기능이 있을 수 있습니다.Xamarin.Forms provides a common API that renders native controls across platforms, but a specific platform may have functionality that doesn't exist on other platforms. 예를 들어 Android 플랫폼에는 ListView 의 빠른 스크롤을 위한 기본 기능이 있지만 iOS는 그렇지 않습니다.For example, the Android platform has native functionality for Fast Scrolling in a ListView but iOS does not. Xamarin.ios 플랫폼 관련 기능을 사용 하면 사용자 지정 렌더러 나 효과를 만들지 않고도 특정 플랫폼에서 사용할 수 있는 기능을 활용할 수 있습니다.Xamarin.Forms platform-specifics allow you to utilize functionality that is only available on a specific platform without creating custom renderers or effects.

Xamarin.ios에는 다양 한 플랫폼별 기능을 위한 미리 작성 된 솔루션이 포함 되어 있습니다.Xamarin.Forms includes pre-built solutions for a variety of platform-specific functionality. 자세한 내용은 다음을 참조하세요.For more information, see:

재질 시각적 개체Material Visual

Xamarin.ios 재질 시각적 개체는 Xamarin.ios 응용 프로그램에 재질 디자인 규칙을 적용 하는 데 사용 됩니다.Xamarin.Forms Material Visual is used to apply Material Design rules to Xamarin.Forms applications. Xamarin.ios 재질 시각적 개체는 시각적 속성을 활용 하 여 UI에 사용자 지정 렌더러를 선택적으로 적용 하 여 iOS 및 Android 간에 일관 된 모양과 느낌을 주는 응용 프로그램을 생성 합니다.Xamarin.Forms Material Visual utilizes the Visual property to selectively apply custom renderers to the UI, resulting in an application with a consistent look and feel across iOS and Android.

자세한 내용은 Xamarin.ios 재질 시각적 개체 를 참조 하세요.For more information, see Xamarin.Forms Material Visual