Home Google I/O Android Korea 2024 후기
Post
Cancel

Google I/O Android Korea 2024 후기

Group 54

처음 가보는 Android 행사

여태까지 Android를 다루는 행사에 참여해본 적이 없었는데 Google I/O를 통해 새로운 경험을 하게 되어서 매우 즐거웠다. 안드로이드 공부를 오랜만에 다시 시작한 탓에 내외부로 바뀐 것들에 대한 파악이 필요했었는데 마침 GDG에서 이를 알려주는 행사를 열어서 바로 찾아가게 된 것이 이번 행사의 참가 계기가 되겠다.

Android 행사 참여는 처음이지만 행사를 진행하는 구글 스타트업 캠퍼스는 너무나 익숙했다. 예전에 GDSC 활동을 할 때 잡페어 행사에 참가한 적이 있는데 그 행사를 구글 스타트업 캠퍼스에서 진행했었다. 그래서 한 번 가본 장소기 때문에 행사장은 문제 없이 잘 찾아갈 수 있었다.

분위기는 굉장히 자유롭고 편했다. 중간마다 간단한 마실 것과 휴식 시간을 넉넉하게 챙겨줘서 5시간동안 진행하는 발표임에도 집중해서 잘 들었다. 물, 커피, 탄산 음료, 얼음컵 등 굉장히 다양하게 준비되어 있었고 심지어 맥주도 마실 수 있어서 맥주를 마시면서 발표를 듣기도 했다. 물론 나는 공복에 피곤해서 한 입만 했다.

모든 발표가 끝나고나서 개인 일정 때문에 아쉽게 마지막에 진행하는 피자&맥주 네트워킹 시간을 가지지 못하고 바로 나왔다. 개인적으로 피자와 맥주를 엄청 좋아하는데 즐기지 못해서 너무 아쉬웠다.

기억에 남는 내용들

Key Note

생각보다 20살 미만의 미성년자도 많이 참석해서 놀랐다. 웬만하면 10의 9는 성인인줄 알았는데 발표 시작전에 하는 키노트에서 미성년자 개발자도 굉장히 많이 참석했다는 말을 듣고 일찍부터 이런 행사에 참석하는 열정이 멋있고 부러웠다. 나는 고등학생 때 딱히 하고싶은 것도 되고싶은 것도 없었던 것 같은데 대단한 것 같다.

AI - Gemini

Google Ai Gemini 1

이번 행사에 참여하기 전에 가장 기대하고 알고 싶었던 내용이었다. 안드로이드 스튜디오에 가장 큰 변화를 준 요소라고 생각한다. 그래서 그런지 이번 I/O(미국)에서 Gemini 내용의 비중이 상당했는데 그럴만하다. 오랜만에 안드로이드 스튜디오를 켜서 생성형 AI가 적용된 것을 보고 엄청 놀랐으니 말이다.

따로 크롬을 켜서 GPT를 사용할 필요 없이 스튜디오 내부에서 생성형 AI를 활용할 수 있다는 점이 매우 만족스러웠다. 또 질의응답에 그치지 않고 코드 인스펙션도 지원한다는 점이 굉장히 마음에 들었다. AI를 스튜디오 곳곳에 다양하게 적용을 했는데 그중에서 가장 신기했던 것은 코드 자동완성 지원이다.

1
2
3
4
// 사용자가 입력한 부분
val binding = 
// AI가 분석후 추천하는 코드
val binding = ActivityMainBinding.inflate(layoutInflater)

예를 들어 바인딩 변수를 만든다고 할 때 위처럼 코드 추천을 받을 수 있다. 그래서 ‘‘이거 어떻게 만들더라?’ 라는 생각을 덜 수 있다. 하지만 어디까지나 자동완성은 개발자의 편의를 돕기 위한 기능이지 코드의 퀄리티를 보장하지 않는다. 따라서 해당 기능을 사용할 때는 해당 코드가 적절한지 개발자가 검토하는 것을 권유한다(구글 피셜).

Deo_DaYangHaeJin_GuGeul_AIUi_GiN width-1200 format-webp_WjKh3NU 1Google Blog 이미지 참조

개발툴에서까지 AI가 적용되고 실제 사용을 해보니 정말 많은 것이 바뀌었다는 것을 실감한다. 20년도에 처음 안드로이드 개발을 접했을 때는 AI고 뭐고 구글에 공식문서와 스택오버플로우를 왔다갔다 하면서 그야말로 박치기를 했었는데 4년이 지난 지금은 굳이 구글에 접속하지 않아도 스튜디오 내에서 웬만한 궁금증들을 해결할 수 있다.

이런 것들을 보면 요즘은 정말 나도 모르게 확확 바뀌는 것 같아서 당황할 때가 있다. 얼른 바뀐 것들에 적응해야겠다. 그리고 마지막 TMI로 초록색보다는 재미나이 컬러의 안드로이드가 더 영롱하고 멋있는 것 같다(항상 초록색 안드로이드만 봐서 조금 질리는 것도 있다).

Compose

jetpack_compose_logo_with_rocket_856

컴포즈에 관한 내용은 가볍게 들을 수 있어서 좋았다. 나는 아직 컴포즈를 사용해본 경험이 없기 때문에 조금 가볍게 컴포즈를 다루고 어떤 느낌인지 알고자 하는 느낌의 내용을 원했는데 발표 내용이 매우 도움이 되었다. 점점 컴포즈 관련 세션이 증가하고 있는 것을 보면 컴포즈 도입 움직임이 이전에 비해 훨씬 많아졌다는 것을 느낀다.

구글에서 컴포즈에 대한 지원을 아낌없이 하는 것을 보면 XML 방식에서 컴포즈로 완전히 전환하려는 것 같다. 이번년도가 끝나기 전에 컴포즈를 사용해보고 친해지는 것이 목표인데 꼭 달성했으면 좋겠다.

UI

edge-to-edge-3

UI 관련 발표 내용에서 가장 기억에 남는 것은 상태바 투명 처리 관련 기능 추가다. 이전부터 안드로이드 개발을 하면서 가장 억장 무너지는 순간중 하나가 상태바 투명 처리였다. 투명 처리를 하는 과정이 생각보다 단순하지 않아서 단순하게 개선해줬으면 좋겠다는 생각을 했었는데 이번에 개선이 된 것 같아서 만족스럽다. 물론 직접 사용을 해봐야 알겠지만 그래도 대충 개선 내용을 훑어보니 이전 방식보다는 괜찮을 것 같다.

1
2
3
4
5
override fun onCreate(savedInstanceState: Bundle?) {
 enableEdgeToEdge()
 super.onCreate(savedInstanceState)
 ...
}

Activity 을 생성하면 이전과는 다르게 엣지 투 엣지 코드가 추가된 것을 확인할 수 있다. 나는 처음에 저게 뭔가 했는데 해당 함수의 코멘트를 대충 해석을 해보니 API 버전에 따라 투명 처리를 지원한다는 내용이었다. 그래서 이때 투명처리에 관한 개선이 있다는 것을 대충은 알고 있었다.

App Benchmark

macrobenchmark_trace 1

앱 성능을 테스트할 수 있는 Macrobenchmark에 관한 내용도 들을 수 있었다. 앱 테스트 경험이 별로 없어서 처음 접해보는 기능이었는데 잘만 사용한다면 성능 개선에 굉장히 많은 도움이 될 것 같다는 생각이 들었다. 프로파일러와 레이아웃 인스펙터정도만 알고 있었는데 이번 기회로 좋은 테스트 도구를 알아간다. 나중에 테스트할 일이 생기면 이 도구를 꼭 사용해봐야겠다.

마무리

처음 가보는 Android 행사였는데 한 번 가봤던 행사장에 자유로운 분위기가 더해져서 그런지 잘 즐기다 왔다. 물론 돌아오는 길에 미친 비폭탄과 강풍이 몰아치는 날씨에 정신줄을 놨지만 안드로이드에 대한 열정을 다시 올릴 수 있는 좋은 경험이었다. 다음년도에도 시간이 있다면 참석하고 싶다.

참조

Android Developers - 앱에 더 넓은 화면에 콘텐츠 표시하기

Android Developers - Macrobenchmark 작성