본문 바로가기
SwiftUI

[Tutorial - SwiftUI] Introduction

by 중곰 2021. 9. 15.

 [Hacking With Swift] 에서 나온 SwiftUI Tutorial 을 가지고 정리하려합니다. 

 

 이번 글에는 Introduction 챕터를 보고 정리한 내용입니다.

 

1. SwiftUI 란 무엇인가?

 - 선언적 방식(명령적 vs 선언적 )으로 앱을 디자인 할 수 있게 도와주는 사용자 인터페이스 툴킷 
 - iOS, macOS, tvOS 및 watchOS에서도 작동하는 플랫폼 간 사용자 인터페이스 레이어 역할

 - 즉, SwiftUI를 통해 명령적인 스토리보드 UI 작업보단 선언적 사용자 인터페이스를 빌드하여 UI 작업 속도를 높여주며, 모든 플랫폼을 지원하도록 도와준다는 의미인것 같다.

 

2. SwiftUI vs Interface Builder and storyboards 

- Interface Builder 는 Objective-C 작동하는 방식으로 구현되어 있음, 삭제한 UI 연결 코드도 계속 컴파일
- Storyboad는 상당히 많은 양의 XML이 포함되어 있어, 읽거나 편집할때 쉽지 않고 누군가 수정한 내용을 찾기에 어려움

- SwiftUI는 두개의 단점을 커버
    • Swift 기능을 활용할 수 있도록 구현
    • 스토리보드 XML보다 훨씬 읽기 쉽고 관리 쉬워 소스 제어 문제를 해결
    • 존재하지 않은 함수를 호출하지 않음

 - 즉, 기존에 UI를 만들었던 로직보다 장점이 많다는걸 이야기하고 있습니다.

 

3. SwiftUI에 대한 질문

⦿ 질문 : SwiftUI, UIKit 중 어느걸 배워야 하는지?
 - SwiftUI는 Apple 플랫폼의 미래이기에 배워야 하며, 
 - UIKit의 지식도 필요하기에 UIKit도 알아야 한다 (앱 개발엔 꼭 필요)

☞ SwifUI를 도입에 3가지 문제를 확인
  1. 제한된 API 적용 범위
    :  UIKit 처럼 광범위한 API 범위 존재 하지 않음
    ▸ UIKit - UITextView로 편집이 가능한 텍스트를 표현 가능, 경고에 텍스트 필드를 표시 가능
    ▸ SwifUI - 자체 TextEditor로 일반 문자열만 처리, 경고에 텍스트 필드 표시 불가
  2. 제한된 채택
    : iOS13 이상의 장치에서만 사용 가능
  3. 제한된 지원
    : UIKit은 나온지 10년으로 Google, Stack Overflow, Hacking with Swift등에서 문제 솔루션 찾을 수 있으나,
      SwiftUI는 새로나와 문제 솔루션 해결에 어려움 겪음

 - 즉, SwiftUI 를 공부하면 좋으나, 3가지의 문제를 염두하고 공부하고 사용하라는 의미입니다.

 

 

SwiftUI의 소개를 읽어보았습니다. 결론은 SwiftUI는 애플 플랫폼의 미래이며, 공부할 만한 기술입니다. 하지만, 아직은 회사 프로젝트에는 적용하기에는 성급하다는 결론을 얻었습니다.

왜냐하면, 아직까지 ios13 이하의 버전을 지원하고 있기 때문입니다.

그래도 언제인가는 ios13 부터 지원하는 날이 올것을 기대하며, 이 튜토리얼은 계속 될 것입니다.

반응형