3년차 개발자, 10년차 에디터 모던화 하기 in Android / if(kakaoAI)2024
if kakao 카카오 · YouTube
AI 핵심 요약
10년 된 브런치 Android 에디터는 뷰가 데이터를 보유하고 ScrollView에 모든 요소를 유지해, 상태 관리와 테스트가 어렵고 기능 간 결합도도 높았습니다. 이를 개선하기 위해 기능을 플러그인으로 분리하고 MVI 구조를 도입한 뒤, 텍스트와 스타일을 쌍으로 저장하는 모델을 만들어 입력·삭제·변경을 데이터에 반영하도록 단계적으로 바꿨습니다. 분리된 데이터는 UI 없이 테스트할 수 있었고, Compose 적용 과정에서는 드래그 앤 드롭을 직접 구현하고 AnnotatedString의 스타일 유지와 한글 자소 분리 문제를 다뤘습니다. 기술적 설계와 함께 목표·계획·설계안을 공유하고 팀의 이해를 맞추는 일이 모던화 프로젝트의 진행에 중요하다는 점을 배웠습니다.
- 뷰가 데이터까지 소유하면 화면 구현과 상태 관리가 얽히므로, 먼저 모델을 분리해 UI 없이도 동작을 검증할 수 있게 하세요.
- 플러그인 인터페이스와 이벤트 핸들러를 두고 제네릭 타입으로 허용할 이벤트를 제한하면 기능별 책임과 의존 관계를 명확히 할 수 있습니다.
- 텍스트와 스타일을 구간별 쌍으로 저장하면 스타일 변경 시 필요한 부분만 나누고 갱신할 수 있으며, 인접한 동일 스타일 구간은 합쳐 관리할 수 있습니다.
- Compose의 AnnotatedString은 부분 수정과 입력 중 스타일 유지에 주의해야 하며, 한글 자소 분리 문제는 사용 중인 Compose 버전과 입력 처리 방식을 확인해야 합니다.
- 대규모 모던화는 구현뿐 아니라 목표·일정·설계안을 공유하고 팀의 용어와 이해 수준을 맞추는 과정도 중요합니다.
소개
10년된 브런치 안드로이드 에디터를 3년차 개발자가 모던화 하기까지의 과정의 개발 경험기 입니다. 10년전에 만들어진 리치 텍스트 에디터를 Compose, MVI, 클린아키텍쳐를 적용하여 모던화 하는 프로젝트를 발제하고, POC 를 통해서 점진적으로 개선하는 과정을 공유합니다. #android #editor #compose #modernization #리팩토링 브런치개발파트에서 브런치와 티스토리 안드로이드 앱 개발을 담당하고 있는 Evan입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-52 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
비슷한 학습 자료
컨퍼런스 if kakao
카카오내비 카플레이/AndroidAuto 개발기 / if(kakaoAI)2024
컨퍼런스 if kakao
카카오내비의 카플레이(CarPlay) 및 안드로이드 오토(Android Auto) 개발 과정을 다룹니다. 각 플랫폼에서의 구조적 고민, HUD 및 클러스터 기능 구현 등의 도전 과제와 개발 경험을 소개합니다. #Carplay #Android-Auto #Navigation 카카오내비 클라이언트앱 개발 담당하는 Jin입니다. 카카오내비 iOS 카플레이 개발 담당하는 David입니다. 카카오내비 Android-Auto 개발 담당하는 Beom입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-53 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
모바일 앱 개발
컨퍼런스 if kakao
iOS 앱 이미지 에디터 개발기 / if(kakaoAI)2024
컨퍼런스 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
카카오톡 미니 이모티콘 in Android / if(kakaoAI)2024
컨퍼런스 if kakao
카카오톡에 새롭게 출시된 미니이모티콘의 안드로이드에서의 개발과정을 소개합니다. Span 을 이용하여 미니이모티콘을 렌더링하고 비트맵을 관리하는 방법 및 서로 다른 미니이모티콘의 동작 싱크를 맞추는 방법을 설명합니다. 미니이모티콘이 키보드에서 클릭 되어 입력되어 입력창에 들어가는 과정과 InputFilter, TextWatcher 로 입력창에서의 요구 사항을 달성할 수 있었던 경험 및 만났던 어려움과 극복했던 과정들을 공유하고자 합니다. #Android #미니이모티콘 카카오톡 안드로이드 메시지팀에서 이모티콘 서비스를 개발하고있는 Dale입니다. 카카오톡 안드로이드 메시지팀에서 이모티콘 서비스를 개발하고있는 Dante입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-47 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 ...
모바일 앱 개발
컨퍼런스 if kakao
선물하기 프론트엔드 성능 개선기 / if(kakaoAI)2024
컨퍼런스 if kakao
선물하기 프론트엔드 성능을 개선하면서 고민 했던 것들 그리고 적용한 기술들에 대해 공유하고자 합니다. #front-end #angular #웹 성능 선물하기 서비스에서 프론트엔드 개발을 하고 있는 Fleek입니다. 유저에게 더 나은 서비스 경험을 선사하기 위해 늘 노력합니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-35 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
웹 개발 프론트엔드
컨퍼런스 if kakao
Brunch Architecture / if(kakao)2022
컨퍼런스 if kakao
브런치 안드로이드 앱의 아키텍처가 어떻게 바뀌었는지 소개하고, 현재 변경 중인 내용에 대해서 공유합니다. #Android 작가들의 창작 활동을 펼칠 수 있도록 브런치와 티스토리를 개발하고 있는 아일라입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-85 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
모바일 앱 개발
컨퍼런스 if kakao
개발 환경 개선을 위해 안드팀과 데브옵스팀이 함께 도전했던 Jenkins CI, RemoteBuild를 소개합니다. #Android #CI/CD #Build 안드로이드 외에도 다양한 분야에 관심이 많은 개발자 smith입니다. 서비스 개발과 더불어 프로세스 개선에도 큰 관심을 두고 있습니다. 더 효율적인 환경, 더 안정적인 서비스를 위하여 다방면으로 고민이 많은 Devops 엔지니어 june입니다. 카카오모빌리티에서 devops 엔지니어로 일하고 있는 louis입니다. 개발과 인프라 관리 프로세스의 자동화 및 간소화에 관심이 많습니다." 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-87 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao202...
모바일 앱 개발 데브옵스 · 인프라