ALM(Application Lifecycle Management) 및 Xamarin 앱Application Lifecycle Management (ALM) with Xamarin apps

Xamarin을 통해 C#, .NET 및 Visual Studio를 사용하여 Android, iOS 및 Windows를 대상으로 하는 플랫폼 간 모바일 앱을 빌드할 수 있습니다.Xamarin enables you to build cross-platform mobile apps targeting Android, iOS, and Windows using C#, .NET, and Visual Studio. Xamarin을 통해 많은 양의 코드를 플랫폼 간에 공유할 수 있으므로 일부 코드만 플랫폼별로 작성하면 됩니다.Xamarin allows a large portion of code to be shared between platforms, with only a small percentage needing to be platform-specific. Xamarin 자체에 대한 자세한 내용은 Visual Studio 및 Xamarin을 참조하세요.For more information on Xamarin itself, see Visual Studio and Xamarin.

최신 플랫폼용 앱을 개발하려면 코드 작성 이외에도 많은 작업을 수행해야 합니다.Developing apps for modern platforms involves many more activities than just writing code. DevOps(개발+운영)라는 이러한 활동은 앱의 전체 수명 주기에 걸쳐 있으며 민첩한 작업 계획 및 추적, 코드 디자인 및 구현, 소스 코드 리포지토리 관리, 빌드 실행, 연속 통합 및 배포 관리, 테스트(단위 테스트 및 UI 테스트 포함), 개발 및 프로덕션 환경에서 다양한 형태의 진단 실행, 원격 분석 및 분석을 통해 실시간으로 앱 성능과 사용자 동작 모니터링을 포함합니다.These activities, referred to as DevOps (development + operations), span the app's complete lifecycle and include planning and tracking work, designing and implementing code, managing a source code repository, running builds, managing continuous integrations and deployments, testing (including unit tests and UI tests), running various forms of diagnostics in both development and production environments, and monitoring app performance and user behaviors in real time through telemetry and analytics.

Visual Studio Team Services 및 Team Foundation Server와 더불어 Visual Studio는 다양한 DevOps 기능(애플리케이션 수명 주기 관리 또는 ALM이라고도 함)을 제공합니다.Visual Studio together with Visual Studio Team Services and Team Foundation Server provide a variety of DevOps capabilities, also referred to as Application Lifecycle Management or ALM. 이 중에서 많은 기능을 플랫폼 간 프로젝트에 전체적으로 적용할 수 있습니다.Many of these are wholly applicable to cross-platform projects.

Xamarin 앱은 일부 ALM 도구를 빌드하는 C# 및 .NET으로 빌드되기 때문에 특히 그렇습니다.This is especially true with Xamarin apps because they are built with C# and .NET, around which some ALM tools are built. 기타 도구는 빌드 및 런타임 환경과 긴밀히 통합되어야 합니다.Other tools, require tight integration with build and runtime environments. Xamarin 앱은 Windows 이외의 플랫폼에서 실행되며 .NET의 모노 구현을 사용하기 때문에 Xamarin은 특정 요구를 충족하는 특수 도구를 제공합니다.Because Xamarin apps run on non-Windows platforms and use the Mono implementation of .NET, Xamarin provides specialized tools for certain needs.

아래 표에서는 Xamarin 프로젝트에서 제대로 작동하는 Visual Studio ALM 기능 및 제한 사항이 있는 Visual Studio ALM 기능을 식별합니다.The tables below identifies which Visual Studio ALM features you can expect to work well with a Xamarin project, and which ones have limitations. 기능 자체에 대한 자세한 내용은 연결된 설명서를 참조하세요.Refer to the linked documentation for details on the features themselves.

Agile 도구Agile tools

참조 링크: 작업(Visual Studio Team Services 또는 TFS 사용, Team Explorer Everywhere 포함)Reference link: Work (using Visual Studio Team Services or TFS, including Team Explorer Everywhere)

일반 설명: 모든 계획 및 추적 기능은 프로젝트 형식 및 코딩 언어와 독립적입니다.General Comment: all planning and tracking features are independent of project type and coding languages.

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
백로그 및 스프린트 관리Manage backlogs and sprints Yes
작업 추적Work tracking Yes
단체 방 공동 작업Team room collaboration Yes
Kanban 보드Kanban boards Yes
보고 및 진행률 시각화Report and visualize progress Yes

모델링Modeling

참조 링크: 아키텍처 분석 및 모델링Reference link: Analyzing and Modeling Architecture

디자인 기능은 코딩 언어에 독립적이며 C#과 같은 .NET 언어에서 작동합니다.Design features are independent of coding language, or work with .NET languages like C#. 코드와 관련된 사항에 대한 자세한 내용은 소프트웨어 개발에서 아키텍처 및 모델링 다이어그램의 역할을 참조하세요.See Roles of Architecture and Modeling Diagrams in Software Development for what aspects are related to code.

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
시퀀스 다이어그램Sequence diagrams Yes
종속성 그래프Dependency graphs Yes
호출 계층 구조Call hierarchy Yes
클래스 디자이너Class designer Yes
아키텍처 탐색기Architecture explorer Yes
UML 다이어그램(사용 사례, 활동, 클래스, 구성 요소, 시퀀스 및 DSL)UML diagrams (use case, activity, class, component, sequence, and DSL) Yes
레이어 다이어그램Layer diagrams Yes
레이어 유효성 검사Layer validation Yes

코드Code

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
Team Foundation 버전 제어 또는 Visual Studio Team Services 사용Use Team Foundation Version Control or Visual Studio Team Services Yes
Team Services에서 Git 시작하기Getting started with Git in Team Services Yes
코드 품질 향상Improve Code Quality Yes
코드 변경 내용 및 기타 기록 찾기Find code changes and other history Yes 런타임까지 구현이 확인되지 않는 플랫폼 특정 경계를 넘는 경우는 제외됩니다.Except across platform-specific boundaries where the implementation isn't resolved until run time.
코드 맵을 사용하여 응용 프로그램 디버그Use code maps to debug your applications Yes

빌드Build

참조 링크: 빌드Reference link: Build

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
온-프레미스 TFS 서버On-premises TFS server Yes 빌드 컴퓨터에 Xamarin이 설치되어 있어야 하며, iOS용 빌드를 위해 OSX 컴퓨터에 연결할 수 있습니다.Build machines must have Xamarin installed and can be linked to an OSX computer to build for iOS. Xamarin용 TFS 구성 (Xamarin 웹 사이트)을 참조하세요.See Configuring TFS for Xamarin (Xamarin website)
Visual Studio Team Services에 연결된 온-프레미스 빌드 서버On-premises build server linked to Visual Studio Team Services Yes 자세한 내용은 빌드 서버를 참조하세요.See Build server for instructions.
Visual Studio Team Services의 호스트된 컨트롤러 서비스Hosted controller service of Visual Studio Team Services Yes Xamarin 앱 빌드를 참조하세요.See Build your Xamarin app.
사전 및 사후 스크립트로 정의 작성Build definitions with pre- and post-scripts Yes
제어된 체크 인을 포함하는 연속 통합Continuous integration including gated check-ins Yes Git는 체크 인이 아니라 끌어오기 요청 모델로 작동하므로 TFVC에 대한 제어된 체크 인에만 해당Gated check-ins for TFVC only as Git works on a pull-request model rather than check-ins.

테스트Testing

참조 링크: 응용 프로그램 테스트Reference link: Testing the application

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
테스트 계획, 테스트 사례 만들기 및 테스트 도구 모음 구성Planning tests, creating test cases and organizing test suites Yes
수동 테스트Manual testing Yes
테스트 관리자(테스트 기록 및 재생)Test Manager (record and playback tests) Yes Visual Studio에서만 제공하는 Windows 장치 및 Android 에뮬레이터.Windows devices and Android emulators only from Visual Studio. Xamarin 테스트 레코더를 사용하면 모든 장치에 대한 기록이 가능합니다.Recording for all devices is possible with Xamarin Test Recorder.
코드 검사Code coverage 해당 없음n/a
코드 단위 테스트Unit Test Your Code Yes Windows 및 Android 대상의 경우 기본 제공 MSTest 도구를 사용할 수 있습니다.For Windows and Android targets, the built-in MSTest tools can be used. Windows, Android 및 iOS에서 단위 테스트를 실행하려면 NUnit를 사용하는 것이 좋습니다.To run unit tests on Windows, Android, and iOS, Xamarin recommends NUnit. Xamarin용 TFS 구성 (Xamarin 웹 사이트)을 참조하세요.See Configuring TFS for Xamarin (Xamarin website).
UI 자동화를 사용하여 코드 테스트Use UI Automation To Test Your Code Windows에만 해당Windows only Visual Studio의 UI 테스트 레코더는 Windows 전용입니다.Visual Studio's UI test recorder is Windows only. 모든 플랫폼에 대해서는 Xamarin 테스트 레코더를 참조하세요.For all platforms, see Xamarin Test Recorder.

코드 품질 향상Improve code quality

참조 링크: 코드 품질 향상Reference link: Improve Code Quality

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
관리 코드 품질 분석Analyzing Managed Code Quality Yes
코드 복제본 검색을 사용하여 중복 코드 찾기Finding Duplicate Code by using Code Clone Detection Yes
관리 코드의 복잡성 및 유지 관리 용이성 측정Measuring Complexity and Maintainability of Managed Code Yes
성능 탐색기Performance Explorer 아니요No 대신 Xamarin Studio를 통해 Xamarin 프로파일러 를 사용합니다.Use the Xamarin Profiler through Xamarin Studio instead. Xamarin 프로파일러는 현재 미리 보기로 제공되며 아직 Windows 대상에서 작동하지 않습니다.Note that the Xamarin Profiler is currently in preview and does not yet work for Windows targets.
.NET Framework 메모리 문제 분석Analyze .NET Framework memory issues 아니요No Visual Studio 도구에는 프로파일링을 위한 모노 프레임워크에 대한 후크가 없습니다.Visual Studio tools do not have hooks into the Mono framework for profiling.

릴리스 관리Release management

참조 링크: 릴리스 관리로 배포 자동화Reference link: Automate deployments with Release Management

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
릴리스 프로세스 관리Manage release processes Yes
스크립트를 통한 테스트용 로드를 위해 서버에 배포Deployment to servers for side-loading via scripts Yes
앱 스토어에 업로드Upload to app store PartialPartial 일부 앱 스토어의 경우 이 프로세스를 자동화할 수 있는 확장을 사용할 수 있습니다.Extensions are available that can automate this process for some app stores. Visual Studio Team Services용 확장(예: Google Play용 확장)을 참조하세요.See Extensions for Visual Studio Team Services; for example, the extension for Google Play.

HockeyApp으로 모니터링Monitor with HockeyApp

참조 링크: HockeyApp으로 모니터링Reference link: Monitor with HockeyApp

기능Feature Xamarin에서 지원 여부Supported with Xamarin 추가 설명Additional Comments
충돌 분석, 원격 분석 및 베타 분포Crash analytics, telemetry, and beta distribution Yes