SwiftUI란? - SwiftUI 튜토리얼

2020. 10. 18. 22:04코딩/IOS 개발

SwiftUI는 아이폰만큼 혁신적인 물건이다.

앱등이라고 욕먹을 만한 발언이지만 그렇게 생각할 만한 이유를 잠깐만 들어보길 바란다.

 

 

Xcode - SwiftUI- Apple Developer

SwiftUI는 Swift의 성능을 바탕으로 모든 Apple 플랫폼에서 사용자 인터페이스를 구축할 수 있는 혁신적이고 간소화된 방법입니다.

developer.apple.com

SwiftUI는 Swift기반으로 애플에서 만든 프레임워크이다.

애플 공식 홈페이지에 설명되어있는 중요한 특징을 살펴보자

  • 선언적 구문
  • 디자인 도구
  • 모든 애플 플랫폼 기본 지원

 

1. 선언적 구문

SwiftUI는 선언적 구문 매우 쉽게 적용하고 확인할 수 있다.

선언적 구문의 의미를 모른다면 선언적 구문에 관련된 글을 읽어보자

 

선언형 프로그래밍 vs 명령형 프로그래밍

명령형 프로그래밍은 "어떻게"를 설명하는 것이고, 선언형 프로그래밍은 "무엇을"을 설명하는 것이다. 이 설명을 보고 이해가 되었다면 더 이상의 설명은 필요없다 하산(뒤로가기)하자. 선언형 �

devhuey.tistory.com

선언적 구문은 생산성을 급격하게 올려준다.

 

사실 이 개념은 리액트와 플러터 같은 프레임워크에서 이미 많이 사용되고 있는 개념이다.

애플이 새로 만들어낸 개념이 아니다.

하지만 애플이 잘하는 것이 무엇인가.

최고의 기술을 갖고 있는 게 아니라 최적의 기술로 최고의 경험을 만들어주는 것이다.

 

플러터, 리액트를 잠깐이나마 사용해본 경험을 떠올려보면 코드를 치기도 전에 진입장벽이 있다.

여러 설정을 만져줘야 하고 라이브러리를 다운로드하여야 한다.

이미 관련 경험이 풍부한 사람이라면 별 어려움 없이 할 수 있을지 몰라도

관련 설정에 관련한 블로그 글이 많은 걸 보면 그렇지 못한 사람이 더 많을 것 같다.

 

반면 SwiftUI는 XCode만 실행하면 아무런 부가적인 작업 없이 Hello World를 출력할 수 있다.

이 간편함이 얼마나 기쁜 것인지는 플러터와 리액트 모두 Hello World만 출력해봐도 알 수 있을 것이다.

(하지만 맥이 없으면 진입 조차 불가능하다는 건 비밀)

 

2. 디자인 도구

디자인 도구는 뭘 뜻하는지 좀 의아했는데, 설명을 보고 따라 해 보니 상당히 편리했다.

요즘에 드래그 앤 드롭으로 코딩을 할 수 있는 교육용 언어들이 있다.

한정적인 도구지만 매우 직관적이고 쉽다.

 

SwiftUI는 그 간편함을 소소하게 사용하였다.

스택을 삽입한다던가, 패딩을 넣는 등 단순하지만 반복적인 작업들을 마우스로 간단히 사용할 수 있도록 하였다.

거기다 XCode라는 IDE까지 통합해서 관리를 하기 때문에

코딩 / 드래그 앤 드롭 / 클릭 / 시뮬레이터로 결과 확인

이러한 일련의 과정들이 너무나도 매끄럽다.

 

 

3. 모든 애플 플랫폼 지원

기본적으로 애플의 모든 기기를 SwiftUI로 개발할 수 있다.

애플은 애플 생태계 외부에게는 한없이 폐쇄적이지만 폐쇄적이지만

생태계 내부에서는 한없이 부드럽고 유연하게 연결되어있다.

 

한국에서는 IOS를 제외하고는 개발할 일이 거의 없겠지만 추후 TVOS MacOS 앱을 개발할 때도

같은 기술을 사용할 수 있다는 점은 큰 장점이다.

 

+a. 끈질긴 지원

애플은 구글과 달리 한번 지원하기로 한 것에 대해 끈질기게 지원해주는 경향이 있다.

새롭고 괜찮은 게 있으면 빠르게 피벗하는 구글과 달리 어떻게든 한번 정한 길을 가는 애플의 행보를 보면

추후 수년간은 SwiftUI가 애플 생태계 어플 개발에 중요한 흐름이 될 것이란 것은 충분히 예상 가능하다.

 

이러한 모든 점을 고려해 봤을 때 SwiftUI는 매력적이다.

필자는 앱 개발을 업으로 하는 사람이 아니지만 앱등이로서 SwiftUI에 미래가 밝다고 점쳐본다.