관리 메뉴

정상에서 IT를 외치다

[NaverTechConcert] 네이버 테크 콘서트: 안드로이드 - 1일차 본문

컨퍼런스

[NaverTechConcert] 네이버 테크 콘서트: 안드로이드 - 1일차

Black-Jin 2018. 11. 1. 21:53
728x90
반응형


안녕하세요!! 블랙진입니다. 


'네이버 테크 콘서트: 안드로이드' 에 다녀온 후기를 포스팅해보겠습니다.

http://techcon.naver.com/


한번에 많은 인원을 수용할 수 없기 때문에 참여 신청을 받았고 저는 1일차 2일차 모두 당첨되었습니다!! 평일이었지만 현재 다니고 있는 회사의 배려로 신나게 다녀올 수 있었습니다. > ,. < //



장소는 정자동에 있는 네이버 그린팩토리로 정자역 3번출구에서 내려서 10분정도 되는 거리입니다.


 

저기 우뚝! 솓아 있는 건물이 바로 네이버 그린팩토리입니다. 이렇게 네이버 본사에 갈 수 있는 기회를 얻어서 너무나 좋았습니다.



      

이날 9시 30분 부터 접수 시작이였지만 빨리 와서 사진을 몇장 찍었습니다.



  

기념품 또한 빠질 수 없죠? 스티커와 밴드 그리고 배찌를 받았습니다.



  

행사를 보는동안 먹을 간식도 빠질 수는 없겠죠?? ㅋㅋㅋ

간식이 없을 때마다 계속 채워주는 네이버!! good~!



   

콘서트홀 전경입니다! 라이브 방송으로도 진행 되기 때문에 곳곳의 카메라를 확인 할 수 있습니다. 다녀오면서 좋았던 부분 중 하나는 바로 각 의자 아래에 콘센트가 있었다는 것입니다!!! 저건 진짜 대박이였어요!!! ㅋㅋ



   

네이버 테크 콘서트는 홈페이지와 앱을 통해서 실시간 질문이 가능했습니다. 발표가 끝나고 손 들고 질문할 필요 없이 웹과 앱을 통해 실시간으로 발표자와 소통할 수 있어서 최고였습니다. 발표 시간 동안 대답하지 못한 질문들도 발표가 끝나고 하나하나 댓글을 달아 주셨습니다. 




(캡처된 사진과 발표자 내용은 모두 2018.11.01 기준 http://techcon.naver.com/ 에서 가져왔습니다.)



네이버 기술성장전략 김태웅님의 인사말로 시작했습니다. 이날 고등학생에서부터 현업 개발자까지 다양한 사람들이 왔습니다. 






내용

Android의 DataBinding에 대해서 기초적인 내용부터 심화된 내용까지 커버해서 이야기 할 계획입니다.

목차

1. DataBinding이란?

2. Setter Method와의 연결

3. BindingAdapter의 기본 및 사용 시점

4. BindingAdapter의 사용시 팁

5. include Tag 혹은 ViewStub 사용시의 Binding

6. Listener, Callback

7. InverseBinding (InverseBindingAdapter) + Two way Binding


DataBinding 초기 설정 방법에서부터 TwoWayBinding까지 직접 만든 예제 코드를 가지고 발표해주셨습니다. step by step 형식으로 발표하여 즐겁게 들을 수 있었습니다. 또한 Prism 앱을 예제로 실무에 어떻게 DataBinding을 적용했는지를 구체적으로 설명해 주셨습니다.


발표자료



내용

구글이 Android Architecture Component 의 ViewModel 을 발표하면서 다양한 시각의 MVVM 구현이 제시되고 있습니다. 여전히 많은 사람들이 혼동하는 MVVM 구현에 대해 올바른 안드로이드 MVVM 구현을 공유하고자 합니다. 이를 위해 안드로이드에서 어떠한 기본 작업이 선행되어야 하는지, 다양한 문제 상황에 대한 해결책에 대해 알아보고 MVVM 이 Grab 에서 어떻게 활용되고 있는지 알아보겠습니다.

목차

1. 많은 사람들이 잘못 구현한 MVVM

2. Grab Passenger App 에서 구현된 MVVM

3. MVVM 을 구현시 문제 해결 방법 ( http://bit.ly/2weRWmb 현재 연재중...)

4. MVVM 을 토대로 구현된 Grab Passenger App 기본 Architecture

5. 질문


정승욱님은 행사 어딜가나 뵙는것 같습니다. 정말 열심히 활동하시는것 같아요!! 내용은 많이 어려웠지만 라이브러리 및 아키텍처를 사용하는 확고한 이유와 철학을 들을 수 있어서 좋았습니다.


 발표 내용 일부를 정리해 보겠습니다.


1. MVP를 사용 했을 때 보일러플레이트와 무수히 많은 콜백의 문제들을 인식하고 MVVM을 사용해야 한다.

2. MVVM을 정확히 이해하기 위해서는 Microsoft의 문서를 필수로 읽어봐야 한다.

3. AAC의 ViewModel을 사용한 MVVM은 올바른 구현방법이 아니다. ViewModel은 DataBinding을 통해서 구현해야 올바른 방법이다.


MVVM에 대한 구체적인 사용 법은 정승욱님의 블로그를 통해 확인하실 수 있습니다.




내용

통계에 따르면 2018년 1분기에는 앱스토어에 약 220만개, 구글플레이에 약 380만개의 앱이 등록되어 있다. 이 치열한 경쟁속에서 사용자에게 오래도록 사랑받는 앱이 되려면 UX디자인은 선택이 아닌 필수다. UX디자인은 디자이너만의 영역이 아닌 개발팀 모두가 함께 만들어내야하는 가치이다. UX디자인에 관심을 갖고 참여한 개발자가 서비스 성공에 어떤 역할을 해 내는지 알아보자.

목차

1. 개발자와 UX디자인 시작하기

2. UX디자인에 대한 오해와 진실

3. 개발자가 UX디자인 시작하기

4. Q&A


UX디자인은 디자이너에게만 해당되는게 아니라는 것을 느꼈습니다. 협업을 하는데 있어서 개발자, 기획자, 디자이너 모두가 UX 디자인을  함께 해야된는 것을 느낄 수 있는 발표였습니다.


- 발표 내용 중 -


잘나가는 앱을 만들고 싶다면?

UX 디자인에 참여해야 합니다!!

 

사용자에게 중요한 건?

내 삶에 어떤 가치를 주는 가이다.

 

UX Design is Framework 개발자도 할 수 있어요!

UX Design 이라는 하나의 목적지를 가기 위해서 같은 곳을 봐야합니다.



- 실시간 질문 중 -


대기업 같은경우 기획/UX/개발 등이 대다수 분리되어 있고 의사결정을 하는 과정에서도 많은 절차가 필요한 부분도 있고 협업하기가 쉽지만은 않은 경우가 많습니다. 이러한 조직이 좋은 UX 가지기 위해 필요한 요소는 무엇이라고 생각하시나요?

 

첫째, 자주 만날  있는 환경을 조성해야 합니다. 
가까이 있고, 자주 만나서 이야기를 나누고, 서로의 생각을 교류할  있어야 합니다
기획이  끝나고 디자인  때까지 개발자가 누군지 얼굴도 보지 못하는 경우라면
협업이라고   수는 없겠죠. 말이  통하는 것이 협업은 아니니까요.

두번째로는 프로젝트를 이끄는 리더의 의지가 필요합니다. 
오늘 발표에서 사례로 보여드렸던 Family Story 2.0, AIR 등도 모두 리더의 의사결정에 의해서 UX 디자인을 함께 했던 사례입니다
UX 디자인은 생존을 위해서는 선택이 아닌 필수입니다. 
프로젝트 성공을 위해서는 반드시 거쳐야 하는 과정입니다
그러기 위해서는 리더를 설득하시는게 먼저겠죠?^^








내용

Material Design 의 철학과 적용 사례에 대해 발표할 예정입니다.

목차

1. Material Design 업데이트 내용 및 배경 소개

2. 주요 MD 컴포넌트 소개 및 활용 방법 안내

3. MD 팀에서 진행된 케이스 스터디 사례 소개

4. 실 적용에서 주의점 공유


두 분의 멋진 콜라보레이션 발표였습니다. 구글의 머티리얼 디자인에 관한 철학을 생생하게 들을 수 있는 시간이였고 2018 구글 IO에서 발표한 머티리얼 디자인에 대해서도 일부 들을 수 있었습니다. 특히 장점만 있을 것 같은 머티리얼 디자인의 단점을 어떻게 수정해 나갔는지 그 과정을 듣는게 너무나 즐거웠습니다.


- 실시간 질문 중 -


45분간 머티리얼 역사를 말하고 드디어 뭔가 시작하나려는 찰나에 끝나버린 그런 세션이네요


업데이트된 머티리얼 디자인 내용이 많아 개발 관련 내용을 다루지 못해 아쉽네요. 기대하신 내용이   개발  구현 관련 내용이였으면 다음주에 진행될 안드로이드 개발자 서밋의 2  (11 8)세션  The Components of Material Design 세션과 Best Practices for Themes and Styles 세션을 참고하시면 좋을  같습니다. 안드로이드에서 머티리얼 컴포넌트 활용에 관한 상세한 내용이 준비되고 있습니다
https://developer.android.com/dev-summit/schedule/day2

해당 세션의 내용은 행사  유튜브 채널로 업로드될 예정입니다. 감사합니다
https://www.youtube.com/user/androiddevelopers

 

 

Material Design 2.0 컴포넌트의 안드로이드 라이브러리화 로드맵은 어떻게 되나요?? MD1.0에서 발표 대비 리소스의 부족으로 늦어졌던 것을 MD2.0에서도 비슷하게 오래 기다려야하는지 궁금합니다. (특히 Cut 코너와 Backdrop )

 

구체적인 로드맵을 공개할  없지만, 대략적으로 다음 내용을 참고하시면 좋을  같습니다. 우선 말씀하신 Cut 코너  CustomShape 지원하기 위한 라이브러리를 열심히 준비  입니다.
https://material.io/develop/android/theming/shape/
https://github.com/material-components/material-components-android/tree/master/lib/java/com/google/android/material/shape

또한 머티리얼 컴포넌트 라이브러리 1.10 버전이 아주 조만간 준비중이며, 타이포그라피, 칼라 테마 지원을 위한 기능등이 추가될 예정입니다. BackDrop 아직 빠져있는 컴포넌트들도   추가될 예정이지만, 아직 정확한 타임라인을 공개드리긴 어려운점 양해 부탁드립니다. Github Repo 활발한 이슈 등록 부탁드립니다 : )
https://github.com/material-components/material-components-android/issues/90








내용

코틀린을 안드로이드에 적용하기 위해서는 안드로이드에 맞는 모듈의 개발, 거버넌스, 코딩 패턴, 디자인 패턴 등의 전략적 고려 사항이 필요합니다. 네이버앱에 코틀린을 적용한 경험을 토대로, 기존 프로젝트(또는 신규 프로젝트)에 코틀린을 적용할 때 반드시 고려해야 할 사항과 적용하면서 나온 사례를 통해서 최적화된 적용 방법을 공유합니다.

목차

1. 코틀린이 정말 필요한가?

2. 넌 어느 별에서 왔니?(코틀린 기술의 근원)

3. 함수형 프로그래밍: 어떤 구조를 지향하는가?

4. 네이버앱에 적용한 거버넌스

5. 각 영역별 정의와 활용
   - 전역변수와 프로퍼티
   - 연산자와 Listener
   - 람다와 익명함수의 활용
   - 표준 확장함수의 활용
   - 함수 확장의 활용

6. 맺음말 : 어떤 프로그램이 될 것인가?

코틀린에 관해 다시 한번 생각해 볼 수 있는 시간이였습니다. 제가 나무를 보고 있었다면 발표자 분은 숲을 보고 있었다는 느낌이였습니다. 단순 구글에서 밀어주는 언어라서 코틀린을 사용하는게 아니라 여러 관점에서 생각해 보고 코틀린을 좀 더 코틀린 스럽게 사용할 수 있는 방법에 대한 고민을 엿볼 수 있는 시간이였습니다.






내용

안드로이드의 앱들은 현재 프로 가드를 통해서 보호되고 있고 향후로는 구글이 작성한 R8으로 대체할 예정에 있다. 난독화 도구들을 써봤지만 막연히 쓰는 경우가 많은데 난독화 도구가 어떤 일을 하고 있고 기본적인 메커니즘이 어떻게 구현되어있는지 프로가드, R8은 무엇인지, 그리고 안드로이드 빌드 과정에 어떻게 통합되는지를 살펴보는 시간을 갖는다.

목차

1. 난독화의 기본적인 이야기

2. 프로가드

3. 연동을 위한 트랜스포머 API

4. R8

위 세션은 2년차 개발자인 저에게는 너무나 어려운 세션이였습니다. 정말 중요한 주제를 다뤄 주셨지만 많은 부분을 이해하지 못해 아쉬웠습니다. '이런게 있구나' 정도로 생각할 수 있던 발표였습니다.



[발표 자료 공유]  

오늘 진행된 네이버 테크 콘서트의 DAY 1 에서 발표된 내용은 아래 링크에서 다시 보실 수 있습니다. 

- 발표자료 :  https://www.slideshare.net/NaverEngineering  

- 라이브 영상 :  https://tv.naver.com/naverd2 

반응형
0 Comments
댓글쓰기 폼