ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [컨퍼런스/안드로이드] 드로이드 나이츠 2019
    개발/컨퍼런스 2019. 4. 12. 23:22
    반응형

     

     4월 5일 코엑스에서 올해도 드로이드 나이츠 컨퍼런스가 개최되었습니다. 올해는 일찍 신청을 해서 얼리버드로 신청할 수 있었고 참가비는 40,000원 이었습니다.

     작년에는 2개의 섹션에서 16개의 발표가 있었는데 올해는 더욱 확장되어 3개의 세션에서 24개의 발표가 예정되어있어서 작년보다 발표내용 선택에 어려움이 있었습니다. 

    Github Page : https://droidknights.github.io

     발표자료는 facebook과 youtube로 공유될듯 하니 미리미리 북마크와 구독을 해놓고 즐거운마음으로 기다리도록 합시다. 발표일로 부터 일주일정도 지난 지금 벌써 많은 자료가 공유되고 있으니 확인해보시면 좋을것 같습니다.

    페이스북 : https://www.facebook.com/droidknights/

    GDG Korea Android : https://www.facebook.com/groups/gdg.korea.android/


     동적으로 맵 SDK를 변경하고 또 그것을 가능하게 맵 SDK 기능들의 대한 추상화에 대한 힌트를 얻고 싶어서 들은 세션입니다.

     맵 SDK에 국한되는것이 아닌 비슷한 기능의 여러 SDK를 교체해서 써야 할 상황이 실제 앱 개발시에 올수 있습니다. 기존에 사용하던 SDK가 문제가 생기거나, 새로운 SDK가 너무 강력하고 매력적으로 출시된다거나 하는 상황이 올수 있어서 들어보고 싶었습니다. 

     SDK에서 처리되는 단계 및 기능을 추상화 하여 RxJava를 통해 동작되도록 하고 각각의 동작은 별도의 구현체로 만들어서 사용하는 방식으로 처리하신 경험을 공유해 주셨습니다.

     UI 시나리오가 복잡해 질수록 UI 이벤트 로직이 복잡하게 얽히면서 덕지덕지 되는 코드를 어떻게 개선할까 하면서 들은 발표입니다. RxBinding을 통해 UI 이벤트 발생시 Observable을 통해 처리되는 방식이고 하나의 View에는 하나의 Observable이 동작하게 되어 설계시 명확해 지는 효과가 있을것 같았습니다. 

     RxBinding사용시 UI 객체와 강력참조가 되므로 꼭 dispose를 해주지 않으면 leak이 발생할 수 있으니 주의하라는 조언도 들을수 있었습니다.

     MotionLayout이라는 컴포넌트가 낯설어서 들은 발표입니다. UI개발시 필수적으로 고민하게 되는 애니메이션에 대해서 도움을 받을수 있을까 하는 생각으로 들었습니다. 기반은 ConstraintLayout 2.0 이고 MotionScene이라는 속성을 xml로 정의하여 애니메이션을 생성할 수 있습니다. 과거 Flash좀 만져보셨다 하시면 이해하기 쉬울법한 개념이라 예제코드를 좀 보면쉽게 적용할수있을 듯합니다.

     유튜브에서 전체 화면으로 보이다가 드래그해서 축소시키는 애니메이션을 예제코드로 보여주셨고 본인이 겪으신 오류상황과 대응 경험에 대해서 공유 해주셨습니다.

     안드로이드 공식언어로 지정된지 한달정도 지나면 2년이 됩니다. 하지만 아직도 kotlin 도입을 고민하고 있는 개발자분이나 개발사에서 들어봄직한 발표내용이었습니다. Java로 코딩했던 구문이 kotlin으로 변환시 어떻게 간소화되고 직관적으로 변하는지 예제코드를 통해 발표해주셨고 현업에서 Java로 앱을 출시하고 유지보수를 하고 계신분들이 들으면 긍정적으로 고려하실법한 내용을 공유해 주셨습니다.


     4번째 발표까지 마무리가 되고 점심시간이 되었습니다. 이번 드로이드 나이츠는 작년보다 참가비가 상승하였는데 올해는 점심시간에 지하1층에 있는 푸드코드에서 식사를 할 수 있도록 식권이 함께 포함되어있었습니다. 

     8,500원의 액면가를 가지고 있었고 6곳의 매장에서 주문이 가능했습니다. 저는 함께간 지인들과 빕스 마이픽에서 주문했는데 뭘 주문했는지는 잘 기억나지 않지만 맛있게 먹었습니다.


     개인적으로 이날 들은 발표중에 가장 생각할게 많았던 발표였습니다. 발표 슬라이드 제목에 Large-Scale App을 위한 이라는 부제(?)가 붙어있었는데 앱 개발시 아키텍처 패턴 적용할때 고민이나 지금 적용한 패턴에서 구현방향에 대한 고민이나 규모가 늘어날 경우 발생할 수 있는 의존성 문제 등등 상용 앱을 개발한다면 고민해봐야 할 내용에 대해서 발표해 주셨습니다. 

     원래는 발표 상세내용을 안보고 WindowManager와 관련된 내용으로 생각하고 발표를 들었는데 WindowInsets에 대한 발표라서 살짝 당황한 발표였습니다. 최근 발표되는 안드로이드 단말이 노치 혹은 핀홀과 같이 화면상에 일정영역이 UI 표시 불가 영역이 포함되는 형태로 출시가 되는데 이번 발표에서는 풀스크린 모드에서 주의해야 할 점이나 UI를 구성할때 WindowInsets를 활용하는 방안에 대해서 발표해 주셨습니다.

     안드로이드 아키텍처 총정리 발표를 듣고 급 변경하여 들은 발표입니다. 기존에 Dagger를 써봐야지 하면서 잊어버리고 있었는데 이번기회에 다시 마음을 다잡기 위해 들었습니다. 

     Dagger와 Koin에 대한 내용과 각각의 장단점에 대해서 발표를 해주셨습니다. Koin은 kotlin에서만 사용이 가능한데 개인적으로 Dagger보다 사용법이 간편해 보여서 혹했습니다. 실제 예제코드 구현 기반으로 발표 및 소스공유까지 해주셔서 추후 적용시 도움이 될것 같습니다.

     마지막으로 들은 발표입니다. MVP 패턴의 적용 방안에 대해서 설명하신다기 보다는 발표자분이 MVP 패턴 적용시 겪었던 경험과 개선하기 위해 고민했던 부분에 대해서 공유해주셨습니다. 발표내용중에 MVP 패턴으로 개발한다고 생각하면서 개발하는것이 아니라 Presenter가 유닛테스트가 가능하게 개발하려면 어떻게 해야하지? Presenter가 비대해지는데 역할이 너무 많은게 아닌가? 등등 디자인 패턴의 설계 의도를 이해하려고 노력하면서 개발해야 한다는 이야기를 해주셨는데 개발할때 고민하던 부분에 대해서 힌트가 된것 같아 좋았습니다.


     올해는 주말이 아닌 평일에 개최되어서 바람되 쐴겸 기분전환도 할겸 연차를 내고 참가하였는데 올해도 발표내용이 충실하여 아주 좋았습니다. 고민하던 부분에서 힌트가 되는 발표도 있었고 모르고 있던 기능을 소개받은 발표도 있었습니다. 위에서 소개는 안했지만 올해는 코드랩과 코드리뷰 시간도 있어서 참가자들이 적극적으로 참여할 수 있는 코너도 준비되어있었습니다. 왠지 내년에도 있을듯 하니 자신의 소스코드를 다른 분들과 함께 토론해보고 싶은 분들은 내년을 기다려보면 되겠습니다.

    반응형
Designed by Tistory.