개발 창고/iOS

[SwiftUI] What are Playground, Project and Workspace?

로이제로 2023. 12. 15. 22:00
반응형

What are Playground, Project and Workspace?

Xcode에서 New를 누르면 아래의 4개가 눈에 띕니다.

대체 Playground / Proejct / Package / Workspace는 무엇을 의미하는 걸까요?

우선 Xcode는 Apple의 통합 개발 환경(IDE)으로서 iOS, macOS, watchOS 및 tvOS 애플리케이션 개발에 사용됩니다. Xcode에서 사용되는 Playground, Project, Package, Workspace의 각각의 개념과 차이점에 대한 설명입니다


Playground

  • Playground는 Swift 코드를 작성하고 즉시 결과를 확인할 수 있는 시각적인 환경입니다.
  • 주로 실험, 프로토타이핑, 학습 등에 사용됩니다.
  • 단일 파일 형태로 구성되며, 코드 라인 단위로 실행하고 결과를 실시간으로 확인할 수 있습니다.
  • Playground는 다양한 Swift 표준 라이브러리와 iOS 프레임워크에 대한 액세스를 제공하여 실시간으로 코드를 실행하고 시각적인 출력을 표시할 수 있습니다.
  •  

Project

  • Project는 애플리케이션 또는 프레임워크를 개발하기 위한 전체 개발 작업 단위입니다.
  • 여러 파일 및 리소스로 구성되며, 애플리케이션의 빌드, 실행, 디버깅 등을 관리합니다.
  • 프로젝트는 하나 이상의 Target을 가지며, Target은 애플리케이션 또는 프레임워크의 빌드 결과물을 나타냅니다.
  • 프로젝트 설정, 라이브러리 종속성, 빌드 설정 등을 관리합니다.

Package

  • Package는 Swift 패키지 관리자를 사용하여 Swift 패키지를 관리하기 위한 단위입니다.
  • Swift 패키지는 코드 라이브러리, 도구, 프레임워크 등을 패키징하여 재사용하고 공유할 수 있는 형태의 라이브러리입니다.
  • Package는 코드 파일 및 종속성을 포함하며, 패키지 매니페스트 파일(Package.swift)을 통해 패키지에 대한 정보 및 종속성을 정의합니다.
  • 패키지 관리자를 통해 패키지를 생성, 업데이트, 종속성 추가 등의 작업을 수행할 수 있습니다.

Workspace

  • Workspace는 여러 Xcode 프로젝트 및 관련 리소스를 통합하여 관리하는 단위입니다.
  • 일반적으로 여러 프로젝트가 상호 관련성이 있는 경우에 사용됩니다. 예를 들어, 애플리케이션과 해당 프레임워크 또는 라이브러리를 함께 개발하는 경우에 사용할 수 있습니다.
  • Workspace는 프로젝트를 그룹화하고, 공유 리소스 및 설정을 관리하며, 여러 프로젝트 간의 종속성 및 빌드 관계를 설정할 수 있습니다.
  • Xcode에서 Workspace를 열면 해당 Workspace에 속한 모든 프로젝트를 동시에 편집하고 빌드할 수 있습니다.

이렇게 Xcode의 Playground, Project, Package, Workspace는 각각 다른 목적과 사용 방법을 가지고 있으며, 개발 과정에서 적절하게 활용되어야 합니다.

반응형