본문으로 이동
[iOS] 왜 우리는 iOS 채팅 앱에서 17만 줄을 걷어냈나
컨퍼런스

[iOS] 왜 우리는 iOS 채팅 앱에서 17만 줄을 걷어냈나

채널데브톡 2025 채널톡 · YouTube

원문 보기

AI 핵심 요약

채널톡 iOS팀은 실시간으로 복잡한 메시지를 표시하는 채팅 화면에서 Texture의 유지보수 중단과 복잡한 구조가 문제 되자, Texture 기반 UI를 UIKit으로 전환했다. UIKit의 메인 스레드 제약에 따른 성능 저하를 줄이기 위해 수동 레이아웃으로 셀 크기를 계산하고, 조건부 뷰를 지연 생성했으며, 긴 텍스트에는 Core Text를 적용했다. 기존 채팅과 새 구현을 서버 제어 피처 플래그로 전환할 수 있게 해 점진 배포를 지원하고, 채팅 객체의 책임도 분리했다. 작업 결과 17만 줄을 제거하고 4만 줄을 추가했으며 컴파일 시간이 2분 줄었고, 성능 개선에는 UI 프레임워크 전환뿐 아니라 레이아웃·콘텐츠 생성 방식의 최적화가 중요하다는 점을 보여줬다.

  • 셀 크기를 계산할 때 오토레이아웃 대신 뷰 모델 기반의 수동 레이아웃을 적용하면 복잡한 제약 계산을 피할 수 있다.
  • 항상 필요한 뷰와 조건부 콘텐츠를 분리하고, 조건부 뷰는 실제로 필요할 때 생성해 초기 구성 비용을 줄인다.
  • 긴 텍스트를 다루는 채팅에서는 편의 기능과 오버헤드를 비교해 UIKit 컴포넌트 대신 Core Text를 검토할 수 있다.
  • 대규모 UI 전환은 기존 구현을 즉시 제거하기보다 서버 제어 피처 플래그로 점진 배포해 위험을 관리한다.

소개

[Texture → UIKit 전환기] 복잡한 채팅 기능, 어떻게 더 안정적이고 빠르게 만들었을까? 채널톡 iOS팀이 직접 경험한 대규모 리팩토링 과정과, 성능·안정성 개선을 위한 실전 노하우를 공유합니다.

비슷한 학습 자료

컨퍼런스 if kakao

브런치, 티스토리에 적용된 iOS 이미지 에디터 개발 과정을 소개하고, 그 과정에서 겪은 어려움을 공유합니다. 특히 회전, 반전, 자르기 등을 지원하는 상황에서 여러 편집이 적용된 이미지를 처리하는 방법을 중점적으로 다룹니다. #ios #image editor #2D computer graphics 브런치, 티스토리 iOS 앱을 개발하고 있는 Woongs입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-51 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

모바일 앱 개발

컨퍼런스 if kakao

카카오뱅크 iOS 프로젝트 여정을 이야기하고 어떤 문제를 겪었으며, 왜 모듈화를 하게 되었는지, Tuist를 활용한 모듈 개발 방법 소개, 그리고 iOS 개발팀에서 그리고 있는 아키텍처를 공유하고자 합니다. #iOS #생산성 카카오뱅크에서 iOS 앱 개발을 하고 있는 데이먼입니다 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-88 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

모바일 앱 개발

컨퍼런스 if kakao

카카오페이는 네이티브와 웹뷰를 적절히 사용하여 높은 수준의 사용자 경험을 주고자 노력하고 있습니다. 네이티브와 웹뷰의 데이터 전달부터 풀스크린 웹뷰, 바텀시트형 웹뷰, 네비게이션 영역 핸들링이 가능한 웹뷰 등 다양한 방식의 웹뷰를 사용하고 있습니다. 본 세션에서는 다양한 시도를 통해 현재 사용중인 웹뷰로 발전하게 된 과정을 소개합니다. 여러 타입의 웹뷰를 핸들링하는 방법과 리팩토링 스토리를 포함하여 페이 서비스의 특성상 카카오페이앱 및 카카오톡앱 2개의 앱을 개발 해야하는 환경에서 어떻게 코드를 관리하는지에 대해 알아봅니다. #iOS #WebView #리팩토링 #WKWebView 카카오페이 사용자에게 더 나은 경험을 주고싶은 iOS 개발자 joey입니다. 카카오톡 내의 카카오페이 서비스와 카카오페이 앱을 개발하고 있습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-89 if(kakao)2022에 대한 자세한 정보는 👉 h...

웹 개발 모바일 앱 개발

컨퍼런스 채널데브톡 2025

[급증하는 사용자 요청, 어떻게 놓치지 않고 안정적으로 처리할 수 있을까?] 채널톡이 벌크 요청을 공정하고 안전하게 처리하기 위해 설계한 아키텍처와 Go 기반 구현 전략을 중심으로, 대규모 트래픽 핸들링의 실전 노하우를 소개합니다.

백엔드 프로그래밍 언어

컨퍼런스 채널데브톡 2025

[Frontend] UI를 꼭 사람이 짜야 할까요?

컨퍼런스 채널데브톡 2025

[디자인 명세로부터 잘 동작하는 코드까지, 프롬프트만으로 자동화하다] 디자인 명세(Figma)부터 실제 코드 구현까지, 반복적이고 시간이 오래 걸리는 UI 작업을 어떻게 효율적으로 해결할 수 있을까요? 채널톡 프론트엔드 팀은 Figma의 구조화된 데이터를 기반으로, LLM과 프롬프트를 결합해 UI 작업 자동화를 시도했습니다. 이 병목을 풀기 위한 저희의 전략과 시도 과정을 공유합니다.

프론트엔드 AI 코딩

컨퍼런스 채널데브톡 2025

[Cursor와 MCP를 활용해 개발자의 업무 생산성 올리기] 채널톡 개발팀이 버그 대응과 PR 리뷰의 병목을 해결하기 위해 Cursor와 MCP를 활용한 자동화 전략을 소개합니다. 개발자의 업무 생산성을 높이고, 반복적인 작업을 줄이기 위한 실제 사례와 프롬프트 활용법까지 공유합니다.

AI 코딩 AI에이전트 개발