사진: Droid Knights
가장 가보고 싶었던 컨퍼런스, 드디어~
안드로이드 개발을 시작하면서 가장 가보고 싶었던 컨퍼런스에 드디어 다녀왔다. 아침부터 저녁까지 세션이 진행되어서 몸은 피곤했지만 매우 유익한 시간이었다. 기대 이상으로 여러 좋은 세션들을 듣고 배울 수 있어서 매우 만족스러웠다. 이번 포스팅은 드로이드나이츠에서 들었던 세션들을 아주 간단하게 복기하는 시간을 가지고자 한다.
세션 테이블
오전 타임
나는 관심 있는 내용이 트랙2에 몰려 있어서 대부분 TRACK2 강연실에서 세션을 들었다. 오전 타임은 두 개의 세션만 진행되었는데 둘 다 매우 즐겁게 발표를 들었다.
ReadMoreTextView: 텍스트 ‘더보기’
텍스트 더보기
는 나도 최근에 도입을 고민했던 기능이어서 해당 세션이 이른 아침에 진행되었음에도 불구하고 집중해서 들었다. 구현 과정에서 발생할 수 있거나 발생한 오류들을 어떻게 해결했는지 다방면으로 들을 수 있어서 매우 좋았다.
텍스트 이외에도 다른 뷰 컴포넌트를 만들 때는 레이아웃 값을 잘 활용해야 함을 느꼈다. 최근에 디자인 요구사항에 맞는 바텀 시트를 제작하면서 Material Design3가 정의한 레이아웃 Height
값을 이용한 적이 있는데 비슷한 사례로 느껴져서 그런지 공감하면서 강연을 들었던 것 같다.
Benchmark를 통한 UI 렌더링 최적화
벤치마크는 안드로이드 컨퍼런스에서 빼놓을 수 없는 주제인 것 같다. 그만큼 성능 최적화에 중요한 요소라 항상 등장하는 것 같다. 해당 세션은 고용량 이미지에 따른 느린 렌더링을 성능 분석기를 통해 어떻게 최적화했는지에 대한 과정을 설명했다.
모바일 개발을 하게 되면 흔히 말하는 부드러운 사용감, 버벅대거나 끊기지 않는 사용감 등을 위해서 UI 최적화 방법들을 고민한다. 나 역시 현재 진행 중인 프로젝트에서 UI 최적화를 어떻게 진행해야 할지 고민하던 참이었다.
레이아웃 분석기를 통해서 UI 컴포넌트의 레이아웃 값과 컴포지션 횟수를 파악할 수 있는 것은 알았지만 perfetto
라는 도구는 처음 들어봤다. 실제 렌더링 속도와 시간을 분명하게 알 수 있어서 개선 작업 때 굉장히 유용해 보였다. 나도 진행 중인 프로젝트에 적용해서 후에 관련 포스팅을 해볼까 한다.
오후 타임
간단하게 강연 센터 근처에서 밥을 먹고 오후 타임 세션들을 들었다. 오후 타임은 호흡이 길어서 피곤해서 내용을 놓치는 것을 방지하기 위해 중요한 부분은 메모하면서 들었다.
재미나이와 함께 안드로이드 공부하기
재밌게 들었던 세션이다. 안드로이드 스튜디오와 구글의 생성형 AI 모델인 재미나이를 활용하는 방법에 대한 적합한 조언을 얻을 수 있었다. 잘 활용하면 UI 테스트용 코드를 빠르게 만들어서 좀 더 효율적이고 빠른 개발이 가능할 것 같다.
Jepcak XR
XR 관련한 지식이 전무하여 발표 내용을 이해하는 게 매우 어려웠다. 이해하는 것보다 이런 기술과 적용 과정이 있다는 느낌으로 들었다. 아직 실력이 매우 부족하다 보니 잘 이해하지 못한 것 같다.
컴포즈 스냅샷 내부 원리 찍어먹기
다행히 스냅샷 관련 세션은 내가 이전에 공부한 경험이 있어서 잘 이해하면서 들었다. 특히 스냅샷 내부에서 관리하는 invalid set
의 이름과 역할에 대한 이해가 어려웠는데 이번 세션을 통해 어느 정도 이해가 되었다.
MutableState
의 내부구조는 어느 정도 파악했지만 Snapshot
객체의 내부구조는 아직 파악하기 어려운 단계인 것 같다. 나중에는 스냅샷 객체 내부구조에 대한 딥다이브 포스팅에 도전하고 싶다.
다양한 스크롤 뷰에서의 영상 재생
영상 관련 최적화 방법에 대한 세션이었다. 영상을 다뤄본 경험은 없지만 재밌게 들었다. 영상이 아니더라도 다른 UI 요소들에도 충분히 적용 가능한 방법이라서 이 세션에서도 얻어갈 점이 많았다. 캐싱이나 상황에 따라 다양한 디자인 패턴 활용 방법에 대해 배울 수 있었다.
안드로이드 앱 보안
제일 재밌게 들었던 세션이다. 최근 프로젝트를 진행하면서 서버 파트 인원과 로그인/회원가입 관련 보안 설계로 많은 이야기를 나눠서 이에 대한 궁금증이 많았는데, 마침 앱 보안 관련 세션이 있어서 들었다.
안드로이드 앱 내에 취약한 여러 부분을 알 수 있었고 내가 제일 궁금했던 로그인/회원가입 과정에서 발생하는 토큰 처리에 대한 해답을 어느 정도 얻을 수 있었다. 현재 서비스 출시 목표로 프로젝트를 진행하고 있는 만큼 보안 관련 설계도 완벽하지는 못해도 최선을 다해야 할 것 같다.
마무리하며
원래는 작년에 드로이드나이츠를 참석하려 했으나 일정이 맞지 않아서 Google I/O와 DevFest Android만 참석한 것이 너무 아쉬웠다. 그래서 이번 연도는 드로이드나이츠에 꼭 참석하려고 1월부터 소식을 기다렸다.
컨퍼런스 당일, 아침부터 저녁까지 집중하느라 집 가는 길이 피곤하고 힘들었지만, 다음 해에도 꼭 참석하고 싶다는 생각이 들었다.
이런 규모 있는 컨퍼런스를 통해 실력 좋은 개발자분들의 인사이트를 간접적으로나마 얻을 수 있다는 것은 큰 행운인 것 같다. 또한 스피커 이외에도 함께 청취하는 열정적인 개발자분들을 통해서도 큰 동기를 얻는다.
귀중한 경험이었다~ 다음에도 일정만 맞으면 무조건 참석할 것 같다. 좋은 지식 공유의 장을 만들어 준 드로이드나이츠 운영진분들에게 너무 감사드립니다!