본문 바로가기
SwiftUI

SwiftUI 입문: SwiftUI 기본 개념과 첫 번째 iOS 앱 만들기

by 안될개발 2025. 2. 2.

SwiftUI 입문: SwiftUI 기본 개념과 첫 번째 iOS 앱 만들기

SwiftUI 입문: SwiftUI 기본 개념과 첫 번째 iOS 앱 만들기

1. Swift 언어 소개

Apple은 2014년에 개발자 친화적인 언어인 Swift를 도입했습니다. Swift는 명확한 문법, 안전성, 그리고 높은 성능을 자랑하며 iOS, macOS, watchOS, tvOS 앱 개발에 최적화되어 있습니다. 이전에는 Objective-C가 주로 사용되었지만, Swift의 등장으로 더 간결하고 유지보수하기 쉬운 코드 작성이 가능해졌습니다.

Swift의 특징

  • 안전성: 변수 초기화, 메모리 관리 등에서 안전성을 보장합니다.
  • 빠른 성능: Objective-C 및 C++ 수준의 성능 제공
  • 모던 문법: 간결하고 읽기 쉬운 코드 스타일

2. SwiftUI와 UIKit 비교

UIKit

  • 선언형이 아닌 명령형 프로그래밍 방식
  • 뷰와 뷰 컨트롤러를 수동으로 관리
  • 코드 복잡성이 높아질 수 있음

SwiftUI

  • 선언형 프로그래밍 방식
  • 코드량 감소 및 유지보수 용이
  • 실시간 미리보기(Preview) 지원으로 빠른 피드백

3. "Hello, World!" 앱 만들기

프로젝트 생성

  1. Xcode 열기: 최신 버전의 Xcode를 다운로드 및 설치합니다.
  2. 새 프로젝트 생성: “Create a new Xcode project”를 선택합니다.
  3. 템플릿 선택: "App"을 선택하고 “SwiftUI”를 인터페이스로 설정합니다.
  4. 프로젝트 정보 입력: 프로젝트 이름과 팀을 설정하고 프로젝트를 생성합니다.

기본 코드 설명

import SwiftUI

@main
struct HelloWorldApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
            .padding()
    }
}

주요 구성 요소

  • @main: 앱의 진입점
  • App: 앱 구조를 정의하는 프로토콜
  • WindowGroup: 하나 이상의 창을 관리하는 컨테이너
  • ContentView: 사용자 인터페이스(UI)를 정의하는 뷰

코드 실행

  1. 시뮬레이터 실행: Cmd + R을 눌러 시뮬레이터에서 앱을 실행합니다.
  2. 결과 확인: "Hello, World!" 텍스트가 화면에 표시됩니다.

4. SwiftUI 프로젝트 구조

주요 폴더 및 파일

  • ContentView.swift: 앱의 메인 뷰
  • Assets.xcassets: 이미지 및 앱 리소스 관리
  • Info.plist: 앱 설정 정보

Preview 활용하기

SwiftUI의 강점 중 하나는 실시간 미리보기(Preview)입니다.

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

위 코드는 Xcode의 미리보기 창에 UI를 실시간으로 표시합니다.

5. 마무리

SwiftUI를 활용하면 간단한 앱부터 복잡한 앱까지 빠르게 개발할 수 있습니다. 이번 글에서는 기본 개념과 "Hello, World!" 앱 만들기를 다뤘습니다. 다음 글에서는 SwiftUI의 주요 레이아웃과 뷰 구성 방법에 대해 자세히 알아보겠습니다.