iOS 여행을 위한 지도 챙겨가세요

좀 더 보기 편한 노션링크 입니다


학습을 시작할 때, 내가 알고있는 영역과 앞으로 학습해야 할 영역을 알고싶어했던 기억이납니다. 아마도 잘 하고싶은 마음 때문이었겠죠. 그리고 내가 지금 어디쯤 와있는지 알고 있는 것은 생각보다 괴로운 시간을 견디는데 큰 도움이 되어줍니다.

마치 아주 높은 산에 올라갈 때, 정상까지 얼마나 남았는지 그리고 어느정도 올랐는지 알면 앞으로 남은 체력을 안배하고 견디기 쉬운 것 처럼 말이죠.

그런데 개발은 유독 어디서 부터 시작해서 무엇을 해야할기가 참 어려운 것 같습니다. 매년 새로운 것들이 쏟아져 나오는데, 나는 그 중에 얼마나 알아야 하는 걸까요?

그리고 내가 알지 못하는 미지의 영역을 얼마나 깊게 들어가서 공부해야하나요? 조금만 파고들어가도 손가락 마디두께의 전공 서적이나 논문이 한 무더기가 나옵니다. 어쩌면 30년 전의 역사부터 시작해야하나 하는 생각도 듭니다.

어떤 분야의 고수나 전문가가 된다기 보다는 여행을 떠난다는 느낌으로 경험을 쌓는 것은 어떨까요?

여행에 도움이 될 지도



여행에는 정답이 없습니다. 그래서 우리는 즐길 수 있는지도 모릅니다. 순위를 매길 필요도 없고 내가 가고싶은 곳을 가고 새로운 것을 경험하면 되기 때문이죠.

개발도 이렇게 즐기면서 갈 수 있었으면 했습니다.

책 단위로 하면 왜 힘들어요?

저는 책을 지표로 삼아서 공부했습니다. Swift 문법을 배우기 위해서 문법을 공부했습니다. 다 공부한다음에는 iOS 실전편 책을 보면서 코드를 짰습니다. SwiftUI를 배울 때도 예제로 배우는 책을 따라서 공부했습니다.

물론 장 단점이 있지만 가장 큰 힘듦은 모든 책의 뒷 부분을 공부할 때 너무 힘들었습니다. 나는 초보라, 아직 실력이 모자라서 기본 부터 공부하고 싶은데, 왠지 책을 끝까지 끝내야만 다른 분야를 공부할 힘을 기술을 얻는다고 생각했었습니다.

물론 책에서도 순서대로 익히면 좋은 지식들을 잘 나열해 주었습니다.



마치 이렇게 말이죠. 이렇게 나열해 놓고 보면 개발 레벨 1인 내가 문법 레벨 4를 공부할 때 왜 이렇게 힘들었는지 이해가 가기도 합니다.

물론 이 방법이 더 학습하기 편하다면 우리의 여행에서 이렇게 코스를 만들어도 좋죠.



초보자는 쉬운거 하면 안될까요?



지도의 윗 부분에 문법의 첫 부분을 배우고, UI를 그리는 방법중 하나인 SwiftUI의 사용방법을 배운 다음에 아주 간단한 계산기를 만들어 보면 자신의 학습 정도를 파악하면서 지치지않게 공부할 수 있는 방법이 아닐까 제안해봅니다.

나의 1레벨의 개발에 맞게 쉬운 문법과 쉬운 UI를 가지고 간단한 앱을 만들면서 실력을 쌓아나가는거죠. 물론 계산기가 간단한 앱이라는 뜻이 아닙니다. 우리의 아주 작고 소중한 실력으로 간단하게 만들어 보자는 것이죠.

꼭 계산기가 아니더라도 눈에 보이는 만들어 보고 싶은 것을 만들면서 학습하면 된다고 생각합니다.

적당한 타이밍이 있나?



iOS 개발자로 일하면서 다양한 OS를 접했지만 정작 개발을 해보지는 못했습니다. 스스로 소극적으로 공부한 탓도 있지만, 항상 iOS나 잘하고 나서 다른 개발을 해야한다고 생각했었습니다.

그러다보니 iOS만 계속하게되었고, 어느 순간 다른 분야라고 생각해버리고 눈을 두지 않았습니다. 하지만 생각보다 다른 애플 플랫폼 내에서의 개발은 자료가 적었을 뿐 어렵지 않았었습니다.

왜 이렇게 완벽하려고 했었는지 모르겠지만 확실한 것은 iOS를 완벽하게 해야만 WatchOS나 iPadOS 앱을 개발할 수 있는 것은 아닙니다. 그저 다른 기기에서 돌아가는 앱일 뿐이죠.

SwiftUI vs UIKit

iOS 주니어 개발자 혹은 취업을 준비하는 분들이 모이면 이 이야기가 빠질 수 없습니다. UI를 그리는 방법 중에 어떤 것을 해야하는가. 그리고 언제나 돌아오는 답은 같습니다. 둘 다 해야합니다. 그러면 항상 나오는 두 번째질문은 그러면 그 중에 누구부터 해야하나요? 입니다.

여러분이 필요한 것, 하고싶은 것을 하면 됩니다. 하지만 입문하기에는 SwiftUI가 더 쉬워보입니다. delegate 패턴도 몰라도 되고, 오토레이아웃을 이해하지 못해도 UI를 그릴 수 있기 때문입니다. 물론 어려운 것을 먼저 시작하면 SwiftUI가 쉽게 느껴질 수도 있겠지만, 그저 새로운 것을 배울 때 오는 어려움만 있을 뿐이죠. UIKit을 공부하고 SwiftUI를 해도 어렵기는 마찬가지입니다.

입문하기 쉬운 것을 추천합니다.

마무리

공부를 하는 방법에 정답은 없기 때문에 지도를 그리는 것을 망설였습니다. 심지어 전부 완성하지도 못했죠. 자세히 보시면 끝 부분으로 갈 수록 내용이 부족합니다. 지도를 다 그리고 나서 공개해야하는 것 아닌가라고 생각할 수도 있지만, 저는 일단 배포하고 발전시켜 나가는 것을 좋아하는 개발자라서 이렇게 공개합니다!

앞으로도 피드백을 받으며, 발전시켜나가면서 처음에 iOS를 입문하는 사람들이 좀 더 쉽게 애플 생태계에 착륙하기 좋은 환경을 고민해보겠습니다.


전체 지도 링크

댓글

  1. 노션 링크도 그림이 안보여서....

    답글삭제
    답글
    1. 리이오 입니다! 그림이 안보인다는게 작아서 그런건가요?

      삭제
  2. 안녕하세요~ 첨부해주신 pdf, 글 , 그림 하나같이 고생하신 흔적이 느껴져 댓글 남깁니다!! 만드신 자료 귀중하게 사용하겠습니다. 좋은 글 써주셔서 감사해요!!

    답글삭제
    답글
    1. 업데이트 버젼을 오늘 내일 중으로 준비하고 있습니다 :)

      삭제

댓글 쓰기

이 블로그의 인기 게시물

[IOS] AppDelegate는 뭐하는 녀석이지?

[git] git의 upstream과 origin 헷갈리는 사람 손!

[git] Github 이슈 라벨(issue labels)