본문 바로가기

SwiftUI

SwiftUI 란? 무엇인가 (개발하면서 느낀점 위주)

SwiftUI를 애플에서 공개한 지 벌써 약 1년 정도가 지나갔네요 

 

아이폰 개발을 새롭게 시작하신 분들께서는 기존에 사용하던 storyboard가 아닌 swiftUI를 처음부터 공부하시게 되는 게 좋을 텐데요

(apple은 한번 밀면 살짝 강압적으로? 사용해야 한다는 풍문을 많이 들어서... 확실하진 않아요)

 

저도 위와 같은 이유로 아이폰 개발 공부를 SwiftUI로 시작을 하게 되었는데요? 그러면 swiftUI 가 무엇인가부터 공부를 시작해봤습니다

 

 

SwiftUI

더 우수한 앱. 더 적은 코드.

SwiftUI는 Swift의 성능을 바탕으로 모든 Apple 플랫폼에서 사용자 인터페이스를 구축할 수 있는 혁신적이고 간소화된 방법입니다. 단 하나의 도구 구성 및 API를 통해 모든 Apple 기기에서 사용할 수 있는 사용자 인터페이스를 구축합니다. 읽기 쉽고 작성하기 편한 선언적 Swift 구문을 통해 SwiftUI는 새로운 Xcode 디자인 도구와 매끄럽게 연동되면서 코드와 디자인이 완벽하게 동기화되도록 합니다. 또한 유동적 글자 크기 조절, 다크 모드, 현지화 및 손쉬운 사용을 자동 지원하므로 SwiftUI 코딩 첫 줄부터 가장 강력한 UI 코드를 작성할 수 있습니다.

 

전문보기 -> developer.apple.com/kr/xcode/swiftui/

 

apple Developer에서 설명한 swiftUI에 대한 간단한 설명인데 이것만 봐서는 기존보다 좀 편해졌다 라고밖에 느껴지지 않는데요

 

등등 여러 가지 설명은 많은데 저는 이런 이론적인걸 공부를 열심히? 하는 개발자가 아니고 이런 걸 설명을 잘 못하기 때문에....

 

SwiftUI에 대한 설명은 다른 티스토리 블로거분들이 정리를 잘해놓은 게 많더라고요!! 

 

저는 그래서 제가 4개월간 개발을 하면서 느낀 점을 적어드리려고 해요!

 

제가 느낀 swiftUI의 장점 중 크게 생각하는 2가지입니다.!

 

1.  UI를 그리기가 정말 쉽다. 

 

- 코드들이 되게 직관적이고 선언을 해야 할 것들이 정말 적어요 실제 개발을 하면서 UI 그리는 것에 대해 크게 공부를 하지 않고도 화면을

구성하는데 크게 어렵지 않았어요 (애니메이션 효과 같은 것들을 넣기가 정말 쉬워요) 

그리고 해외어플들 인스타그램 , 페이스북 같은 사용자가 많은 어플들 clone 코딩 예제들이 유튜브에 정말 많아서 배우기도 정말 쉬웠습니다.

 

2. 생명주기를 관리를 할 필요가 없다.

 

- 안드로이드를 개발하시다가 아이폰 개발을 처음 하시는 분들은 이게 무슨 소리지?라고 생각을 하시는데 SwiftUI 에는

생명주기라고 사용할 수 있는 것들이 없어요... 사용한다고 하면 onAppear과 disAppear 영어 그대로 보인다 안 보인다? 정도만을 사용하기 때문에 생명주기를 엄청 힘들게 잡아줘야 할 필요가 없었습니다. (하지만 전체적인 흐름이 안드로이드와 다르기 때문에 조금 헤맬 수도 있습니다.)

 

 

이렇게 장점만 있다면 너무나 좋겠지만... 단점도 명확하게 존재합니다 어떻게 보면 크리티컬 한 문제일수도 있는데...

 

라이브러리가 부실합니다... 

 

유명한 라이브러리들은 swiftUI에 맞춰 업데이트되어있는 것들도 있지만 조금 마이너 한 기능을 구현하려고 하면...

 

없다는 게 슬픈... 현실... 

 

ex) 네이버 아이디 로그인

 

swiftUI에서 기존 swift를 사용할 수 있게 만들어놨다고 하지만... 제가 실력 부족인지 어렵더라고요...

 

그래서 제가 생각하는 현재 swiftUI의 가장 크리티컬 한 단점이 아닐까 하네요 

 

SwiftUI에 대한 제 간단한 장단점은 여기 까지고요

 

아이폰 개발을 swiftUI 시작하시거나 swiftUI로 넘어오시는 개발자분들과 열심히 소통하기 위해 앞으로 꾸준히 글 작성해보겠습니다!! 

 

 

2021년 11월 30일 

 

스토리보드와 SwiftUI 둘다 경험 후

 

확실하게 장단점을 말하자면 SwiftUI의 생산성 진짜 엄청 나다

 

View를 그리고 로직을 넣고 복잡한 뷰를 만들고 이런것들은 확실하게 SwiftUI가 압도적으로 빠르다

 

하지만 디테일한 설정들을 해줄수 없다 해당 기능을 이용할려면 UIViewRepresentable 을 이용하여 Storyboard에 있는 뷰를 만들어서

 

사용해야하는데 생각대로 잘 움직이지 않는다.

 

개인적인 의견으로 StoryBoard를 어느 정도 기초를 공부하고 SwiftUI 를 사용하는것을 적극 권장한다.