Introducing SwiftUI ) 간단한 사용방법

DevelopRecord·2022년 5월 22일
0

오늘은 SwiftUI에 대한 내용을 작성해보려 합니다.

저도 사용해본지 얼마 안돼서 익숙치가 않네요.

잔말 않고 바로 시작해 보겠습니다.

먼저 SwiftUI에 대한 개요를 볼게요.

SwiftUI 개요

먼저 애플 개발자 사이트에 가보면,

SwiftUI는 최소한의 코드만으로 Swift의 성능을 사용하여 모든 Apple 플랫폼에서 사용할 수 있는 멋진 앱을 만들 수 있도록 도와줍니다.

라고 나와 있어요.

사용전이라 크게 와닿지는 않지만 간단히 말하자면
1. 코드가 짧고
2. 직관적이고,
3. 다크모드와 같이 사용자가 설정할 필요 없이 자동으로 적용

이외에도 여러가지가 있습니다.

대표적으로는 선언형 구문 사용합니다.

기존의 Storyboard는 명령형 구문을 사용했어요.
예를 들어, AView라는 UIView가 있고 이 뷰에 BView, CView가 존재합니다.
그런데 DView를 만들고 기존의 두개의 뷰는 지우고 싶어요. 그러면

removeSuperView()
AView.addsubView(DView)

이런 기존의 방식이 명령형 구문입니다.
자세한 내용은 구글링 해보시면 많아요.

그럼 SwiftUI의 선언형 구문은 어떨까요?

우리는 위 방식으로 할 필요가 없고 추가할 기능을 명시하면 됩니다.

쉽게 말해 기존의 뷰에 새로운 뷰를 덮어씌우는 방식이라는 것이죠.

이렇게 하면 오버헤드가 발생하지 않을까? 라는 생각이 드실 수도 있지만 오버헤드는 프레임워크에서 관리하고 이것에 대해선 최적화를 잘 해뒀기 때문에 걱정할 필요는 없다고 합니다.

2. 디자인 도구

그리고 SwiftUI 내에서는 Preview라는 미리보기 항목을 제공합니다.

기존의 방식은 무언가를 변경하면 빌드하고 다시 실행해서 확인하는 과정을 거쳤는데

이제는 오른쪽에 Preview라는 항목이 존재해서 즉각적인 결과를 눈에 볼 수 있어요.

이런식으로 바로 확인이 가능합니다. 물론 시뮬레이터에서도 가능하구요.

프로젝트 생성 시 생기는 파일들에 대해서도 짧게 설명 해볼게요.

저도 알아가는 단계라 정확하지 않을 수 있습니다.
잘못된 정보는 피드백 해주시면 감사하겠습니다!

import SwiftUI

@main
struct TestProjectApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
import SwiftUI

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

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

프로젝트 생성하는 방법은 따로 설명하진 않을게요.

위 코드블럭을 보시면 @main이라고 있죠?

앱의 시작지점을 알리는 코드입니다.
저기서 ContentView()라는 View를 실행합니다.
당연히 없으면 에러가 발생합니다.

그리고 ContentView를 보시면 뭐가 많은 것 같은데 하나씩 설명드릴게요.

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

기본적으로 body 영역 안의 Contents가 사용자에게 보여집니다.
그러면 Hello SwiftUI라는 문구가 정중앙에 보여지게 되구요.

그냥 사용자에게 보여줄 컨텐츠들을 나타내는 핵심적인 부분이다 라고 생각하시면 될 것 같습니다.

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

이 부분은 이름에서도 유추할 수 있듯이, 미리보기를 제공하는 제공자 역할을 한다 보시면 됩니다.

없어도 오류는 발생하지는 않지만, 오른쪽의 미리보기를 볼 수 없겠죠?

당장은 SwiftUI를 사용하는 비중이 압도적이진 않다고 합니다.
하지만 가까운 미래엔 사용 비중이 높아질 거라고 하네요.

결론

  1. SwiftUI를
  2. 배우자

참조 레퍼런스

Apple SwiftUI 개요

선언형 UI vs 명령형 UI

0개의 댓글