늘 그랬듯 이번에도 구글 I/O Extended 컨퍼런스를 구경하고 왔습니다. 근데 서울도 판교도 아닌 송도??

늘 그랬듯 이번에도 Compose 관련 세션이 많았는데, 간만에 안드로이드 이야기만 쭉 들을 수 있는 컨퍼런스가 열린 것 같아서 멀었지만 다녀왔습니다. (차로 1시간 48분인데 대중교통으로 2시간…)

https://festa.io/events/3780


인스타I 행사장 입장

참 송도스러웠던게 매끈하고 높은 건물들이 파란 하늘을 반사시키고 있었습니다. 인천대학교역 근처에 위치한 인스타1 행사장에서 안드로이드와 플러터 세션들이 진행되었습니다.






늘 그랬지만 GDG 사람들은 좋은 내용의 컨퍼런스를 저렴한 가격에 열어주는데 굿즈도 막 퍼줍니다. 예ㅖㅖㅖ!!



오늘의 안드로이드 세션들.


행사장 내 카페에서 받은 아아와 아마도 호두쿠키. 아무 기대 없었는데 정말 맛있었습니다!



세션

영어로 진행된 Google I/O Extended 내용들을 해석해주고, 거기에 발표자의 예제나 견해를 덧붙여 이야기 해주는 방식이었습니다. 새로 나온 기능, 새 도구에 관한 내용, 디버깅 등등 다양한 분야의 업데이트가 있었습니다. 사실 혼자 유튜브 보면서 공부하면 기억 속에서 흐릿해지는데, 그걸 다시 끄집어내주는 계기가 되어 도움이 많이 됐습니다.

또, 저 혼자 ‘구글이 원하는게 이게 맞아?’ 라고 생각할 법한 내용에 대해서 발표자분도 똑같이 고민해봤다는 이야기를 듣고 공감이 가기도 했습니다. (Compose 함수 내에서 콜백을 받아 api 호출하던가 하는 예제가 NowInAndroid에 있었는데, 둘 다 아키텍쳐 관점에서 왜 ui 담당인 컴포즈에서 그런 작업을 했는지 의아했습니다.)

간단히 적어보자면, 첫 세션은 피그마에서 Relay와 Compose를 써서 디자인 요소만 가지고 코드를 바로 만들어내는 신기한 세션이었습니다. 하지만 수정 사항이 생겨도 코드를 직접 건들진 못하고 피그마에서 재수정 후 export 하는 과정은 상당히 불편해보였습니다. 반면에 제가 코딩을 디자이너라면 정말 유용하게 사용했을 것 같은 툴이었습니다. 강력한 신제품(?)이지만 아직 발전이 좀더 필요해보인다.

두 번째 세션은 최신 컴포즈 변경점을 살펴보고 도입하는 내용들이었습니다. Tv용 Row, Pager나 Flow Layout 등이 추가되었고 TextField가 소프트 키보드에 의해 가려지는 문제도 수정됐습니다. (이거 진짜 귀찮았는데!) Glide, Google Maps의 컴포즈용 라이브러리가 등장했습니다. 에디터에 관한 내용도 다뤘는데, 고슴도치부터 컴포즈 상태 정보를 디버거에서 확인 가능해졌다는 이야기를 했습니다.

다음으로는 안드로이드 UI 상태 저장 권장사항에 대한 이야기를 했습니다. 상황에 따라 ViewModel 저장, DataStore나 Room과 같은 영구 저장, Bundle 저장 등 다양한 방법으로 데이터를 보존하는데, 이 중 번들에 관해 이야기를 했습니다. 번들에는 50KB 이하의 간단한 데이터만 저장하라고 하는데, 우리 팀에서는 그다지 잘 지켜지지 않는 룰이네요. Compose에서는 rememberSavable 을 사용하면 좋겠습니다.

네 번째로 디버깅 하는 방법에 대해 설명해주셨습니다. Android Studio Hedgehog 버전에서 Debug BreakPoint 를 걸고 Recomposition이 얼마나 일어나는지 측정할 수 있었습니다. 매개변수의 변경 상태가 unchanged, changed, uncertain, static, unstable 로 나타났습니다. Layout Inspector 나 Microbenchmark 라이브러리를 써서 컴포즈의 느린 문제를 추적해가는 방법을 알려주셨습니다.

마지막은 xml을 언제까지 사용할까라는 내용으로 발표를 할 줄 알았는데, 안드로이드 개발을 예전에는 이렇게 했다 하는 내용으로 갑자기 바뀌어버려서 많이 당황스러웠습니다.


세션 시간 분배는 정말 잘 했고, 10분의 쉬는 시간이 결코 길지는 않았지만 오히려 너무 루즈해지는 것보다 깔끔해서 좋았습니다. 다만 윗윗층에 있던 플러터 개발자 친구를 만나러 잠깐 갔었는데, 세션 시간이 오버되어서 못 만나고 나중에 만났습니다. 안드로이드는 시간 칼 같이 맞춰서 스케치북에 1분 남았다고 발표자한테 알려주던데 ㅋㅋㅋㅋㅋ 오히려 좋아.


개발자스러웠던 플러터 행사장. 안도로이드는 강의실 같은 데에서 진행했는데, 개인적으로 사진은 전자가 잘 나오겠으나 맥북 놓고 타이핑 하려면 모니터 많고 책상 있는 강의실이 컨퍼런스 듣기에 훨씬 좋은 것 같습니다. 서울 행사 갔을 때 삼성역에서 책상도 없이 무릎에 맥북 놓고 사용한 적도 많았기에.



후기

요약 정리와 실무에 도움이 될만한 팁을 강의에 잘 녹여주신 발표자분들 고생하셨습니다. 잘 들었습니다.

행사 자체도 준비 상당히 많이 해주셨고, 길도 안 잃게 요원들 잘 배치해주셨고, 커피랑 쿠키에 잠옷 스티커 등등 선물도 후하게 받아 갔습니다.

다만 festa 페이지, 오픈카톡방, 노션 등등 정보가 너무 파편화 되어있어서 교통안내는 여기, 발표 주제는 저기 찾아다니느라 헷갈렸습니다.

전반적으로 만족스러웠으나, 역시 너무 멀어요.


아래는 구글 포토 업로드 사진인증 이벤트 참여할까 하다가 그냥 쑥쓰러워서 안한 기념샷.