Apple Developer Academy @ POSTECH  —  iOS 개발

Apple Developer Academy에서 9개월 동안 교육을 받으며, 개발 과정에 대한 심도 있는 이해를 위해 의도적으로 디자인과는 거리를 두고 온전히 개발자의 시각에서 iOS 개발을 공부했습니다. 이 기간 동안 총 4번의 팀 프로젝트를 수행하며 모든 프로젝트에서 iOS 개발을 담당했고, 총 2개의 앱을 앱 스토어에 출시했습니다.

달 위상 관측 앱(MellowYellows) 디자인 및 개발

Swift Student Challenge 오늘의 달 위상을 시각적으로 확인할 수 있는 달 관측 앱을 디자인하고 SwiftUI를 활용하여 직접 개발했습니다. 보름에 가까워질수록 별의 밝기가 어두워지고 그믐이 될수록 별의 밝기가 밝아지는 등, 실제 밤하늘의 모습을 시각적으로 앱에 담았습니다.
달이 떠오르는 표현
움직이는 별 표현
흐린 날 구름 표현

Swift Student Challenge 우승

MellowYellows를 Swift Student Challenge에 제출했고 운이 좋게도 세계 여러 나라의 학생들과 함께 우승작에 선정될 수 있었습니다. 그뿐만 아니라 Apple의 Cupertino 본사에서 열리는 WWDC23에 초대받아 현장에서 컨퍼런스를 참여할 수 있는 기회를 얻었습니다.

Apple Park에서 WWDC23 참여

Apple Park에서 열리는 WWDC23에 직접 참여하며 Vision Pro를 비롯한 여러 신제품들과 iOS, MacOS, WatchOS 등 새로운 소프트웨어 발표를 현장에서 확인할 수 있었습니다. 또 Swift와 SwiftUI 등 여러 개발 프레임워크들의 발표를 들으며 새로운 기능들을 가장 먼저 접할 수 있었습니다.

KWDC23 연사자로 참가하여 발표

미국을 다녀온 후, 한국의 모든 애플 커뮤니티가 함께 진행하는 컨퍼런스인 KWDC23에서 연사자로 참가하여, WWDC23을 다녀오며 직접 경험했던 Apple 생태계와 미국 내에서의 서비스 경험들에 대해 발표했습니다.

Wote - 청소년들의 소비 고민을 도와주는 투표 커뮤니티 앱

청소년들이 또래 친구들과 함께 소비 고민을 나누어 합리적인 소비를 할 수 있도록 돕고, 타인의 소비 성향을 확인하며 본인의 소비 가치관을 확립할 수 있는 커뮤니티 플랫폼 앱의 프론트 개발을 맡아 진행했습니다. 백엔드 팀과 협업하며 다양한 데이터 통신을 처리하는 경험을 할 수 있었습니다.
  • Apple 로그인을 구현하고 키체인을 활용하여 사용자 JWT(JSON Web Tokens)를 관리했습니다.
  • Alamofire와 Moya, Combine을 활용하여 서버 통신에 필요한 API Manager를 만들고 케이스 별로 관리했습니다.
  • 백엔드 팀과 협업하며 각각의 API를 뷰에 연결하고, 데이터를 중심으로 아키텍처 구조를 설계했습니다.
  • 커스텀 이미지 크롭 기능(확대/축소, 이동, 회전, 크롭)을 구현했습니다.
  • 각각의 뷰들을 구현하고 연산 프로퍼티, 메소드, 구조체 등으로 분리하여 가독성과 재사용성을 향상시켰습니다.
  • Github Issue, Pull Request, Review, SwiftLint 등을 활용하여 협업 시에 필요한 컨벤션을 정의하고 관리했습니다.
  • 앱스토어에 프로젝트 심사를 제출하고 출시하는 과정을 직접 진행했습니다.

쏘옥 - 다양한 벌칙 미션을 수행하는 게임 앱

버블티를 흔들어 벌칙 수행자를 랜덤하게 뽑고 다양한 미션을 재미있게 수행하면서, 친구들끼리 쉽게 친해질 수 있는 게임 앱의 프론트 개발을 맡아 진행했습니다. 여러 뷰의 자연스럽고 매끄러운 애니메이션을 구현하는 경험을 할 수 있었습니다.

AllerView - 외국인들을 위한 알러지 유발성분 확인 앱

한국을 방문한 외국인들이 본인의 알러지를 등록하고 식품 원재료명을 사진으로 찍어, 주의해야 할 알러지 성분을 확인할 수 있는 유틸리티 앱의 프론트 개발을 맡아 진행했습니다. ChatGPT API를 통해 앱 내에서 API 요청과 응답을 처리하는 경험을 할 수 있었습니다.
  • Swift Concurrency와 Alamofire, URLSession을 활용하여 OpenAI의 ChatGPT API를 연결했습니다.
  • ChatGPT의 결과값을 원하는 형식으로 파싱하여 사용하기 위한 프롬프트 엔지니어링을 진행했습니다.
  • 실제 외국인들을 섭외하여 직접 사용자 인터뷰와 앱 테스팅을 진행했습니다.
  • 노션을 활용하여 태스크와 문서를 관리하고 전체 프로젝트를 매니징 했습니다.

WallaRun - 청소년들을 위한 마약 방지 교육 게임 앱

청소년들의 마약 방지를 위해 마약의 위험성과 중독성을 강조한 교육용 게임 앱의 프론트 개발을 맡아 진행했습니다. 애플이 제공하는 프레임워크인 SpriteKit을 활용하여 게임 그래픽과 물리엔진을 다루는 경험을 할 수 있었습니다.
  • SwiftUI와 SpriteKit을 활용하여 게임 뷰와 GameScene을 구현했습니다.
  • 왈라비 캐릭터의 달리기와 점프 능력을 구현했습니다.
  • 장애물 생성과 충돌 판정, 그리고 충돌 시의 생명력 감소와 능력치 감소를 구현했습니다.
  • 게임 배경의 움직임과 도착 지점을 구현했습니다.

개발자로서의 새로운 시각

iOS 개발을 공부하고 직접 개발을 진행하며 전체 개발 과정과 환경, 그리고 디자인이 어떤 식으로 구현 되는지에 대한 깊은 이해를 할 수 있었습니다. 특히 개발자와 디자이너 사이에 어떤 시각 차이가 있고, 원활하게 소통하기 위해서는 어떻게 해야하는지에 대한 경험 또한 얻을 수 있었습니다. 이러한 경험들을 바탕을 개발과 디자인 두 가지의 시각으로 문제를 바라보고, 이를 해결할 수 있는 최선의 방법을 도출해 낼 수 있는 역량을 갖출 수 있었습니다.