[SwiftUI] SwiftUI란?

2dubu·2022년 8월 1일
1

SwiftUI

목록 보기
1/2
post-thumbnail

앞으로 SwiftUI를 사용할 일이 늘어날 것 같아 SwiftUI에 대한 기초적인 내용부터 심화적인 내용까지 이 시리즈에서 다뤄보려 합니다. SwiftUI에 관심이 있거나, 공부를 시작하려는 분들에게 많은 도움이 되었으면 좋겠습니다. 🥰

지피지기 백전불태! 먼저 SwiftUI가 무엇인지 알아보겠습니다.

SwiftUI?

Better apps. Less code. 라는 모토를 가진 SwiftUI는 Swift의 힘으로 모든 Apple 플랫폼에 대한 사용자 인터페이스(UI)를 구축 할 수 있는 혁신적이고 특별한(exceptionally) 방법입니다. 즉, UI를 그릴 수 있는 새로운 방법입니다.

선언적 구문

이런 SwiftUI는 선언적 구문을 사용하고 있습니다. 따라서 사용자 인터페이스의 기능을 명시하기만 하면 됩니다. 예를 들어, 텍스트 필드로 구성된 항목의 목록을 작성한 다음 각 필드의 정렬, 서체 및 색상을 설정하면 되는 것이죠!

이 덕분에 코드가 간단하고 가독성이 향상되어 시간이 절약되고 유지 관리에 용이하다고 해요. 😮

import SwiftUI

struct AlbumDetail: View {
	var album: Album

	var body: some View {
		List(album.songs) { song in 
			HStack {
				Image(album.cover)
				VStack(alignment: .leading) {
					Text(song.title)
					Text(song.artist.name)
						.foregroundStyle(.secondary)
				}
			}
		}
	}
}

기존의 UIKit에서 스토리보드를 통해 구성했던 UI를 다음과 같은 코드들로 구성할 수 있습니다. 🥸

디자인 툴

또한 SwiftUI는 디자인 툴에서도 큰 장점을 가지고 있는데요, 바로 Preview입니다. 편집하는 모든 내용이 옆에 표시되는 Preview에 자동으로 동기화됩니다. 코드를 입력하는 동시에 그려지는 UI를 바로 확인할 수 있고, 라이트 모드 및 다크 모드와 같이 다양한 구성에서 UI를 확인할 수도 있습니다.

아직은.. 그래도!

SwiftUI는 iOS 13, macOS 10.15, tvOS 13watchOS 6 이상에서만 사용 가능합니다. 앞서 말한 장점들을 지니고 있지만, 최소 버전이 높은 탓에 지금 당장 모든 곳에서 도입하기는 힘들어 보입니다.

하지만 Apple에서 SwiftUI를 적극적으로 밀고 있고 계속해서 업데이트를 하고 있기 때문에 좋은 프레임워크가 될 것 같습니다. 아직은 UiKit을 완전히 대체할 수 없지만 2 ~ 3년 후에는 SwiftUI로 대체되는 서비스가 점점 늘어날 것 같아요!

하지만 개발자는 신기술을 두려워하면 안되는 법. 이 글을 보고 있는 여러분들도 점점 영향력이 커질 SwiftUI를 공부해보는 것은 어떨까요?

글 읽어주셔서 감사합니다. 😊
질문과 지적은 환영입니다!

profile
iOS Developer 👶🏻

0개의 댓글