주간 안드로이드 뉴스 #195: MVP, RxJava, Kotlin 등

Android Weekly(http://androidweekly.net/)는 매주 발행되는 안드로이드 뉴스레터입니다. 영어 기사를 정독할 시간이 없는 분을 위해 핵심 꼭지를 요약했습니다.

주간 안드로이드 뉴스를 요약해 드립니다. Android Weekly 195 원문도 읽어보세요.


Model View Presenter 관련

MVP 설계를 고려하시는 분들께 도움될 만한 관련 기사들이 여러개 준비되어 있습니다. 기본적인 MVP에 대한 개념부터 이를 구현하는 대표 라이브러리인 Mosby를 사용하는 예제까지 하나씩 살펴보시죠.

  • 프로젝트에서 MVC를 써야할까요? 아니면 MVP를 사용하는게 좋을까요? 한번쯤 고민하게 될 문제인데요~ MVP에 대해 Tin Megali의 새로운 연재가 시작됩니다. 안드로이드 MVP: part1(Model View Presenter MVP in Android, part 1)에서 다루는 첫 번째 내용은 MVC(Model View Controller)와 MVP(Model View Presenter)의 차이점을 논의하고 왜 MVP가 선호되는지, MVP를 Android SDK에 어떻게 적용할지, 그 사용의 장점은 무엇인지에 대한 것들이네요. 다음번 글에서는 실제 MVP를 구현하는 내용을 다룬다고 하는데요~ 아직 MVP개념이 생소하신 분들 또는 Model-View-Presenter의 기본 정의를 다지고 싶으신 분들께 추천하는 글입니다!

  • 프래그먼트 사용 여부는 논란이 많은 주제죠. 프래그먼트 사용에 반대하는 입장에 동의하신다면 Mosby와 Flow를 사용해 프래그먼트 쓰지 않고 앱 만들기(Let Mosby Flow - An alternative to Fragments)를 참고해보세요. 프래그먼트없이 두 가지 화면으로 간단한 아틀라스 앱을 만들면서 Mosby로 MVP를 구현하고 Flow로 navigation을 만드는 튜토리얼 기사입니다. 참, Mosby의 고마운 특징 중 하나는 화면 전환에도 Presenter가 유지된다는 점 알고계신가요?

  • 바로 위에 언급했듯이 화면 변경시 Presenter유지 처리는 까다롭게 느껴질 수 있는 부분입니다. 여러분들은 어떻게 Presenter를 처리하고 계신가요? 1.그냥 destroy시키거나, 2. static reference로 어딘가에 저장해두었다가 복구하셨거나 3. Fragment의 setRetainInstance()(true)를 사용하거나, 4. singleton cache를 사용하는 등 다양한 방법을 시도해보셨을겁니다. 화면 방향 전환에도 Presenter 유지하기(Presenter surviving orientation changes with Loaders)에서는 Android 프레임웍에서 제공하는 툴인 Loader를 활용해 새로운 방법을 제시하고 있습니다. configuration 전환에도 유지되는 Loader에 대한 설명과 Presenter와 관련된 역할, interface구현에 대해 상세히 설명하고 있으니 참고해보세요!

이런 개발 뉴스를 더 만나보세요

Kotlin으로 앱 만들기!

  • Kotlin을 배워볼겸 간단한 앱을 만들어보는건 어떨까요? 앱개발에서 많은 분들이 다루실만한 네트워크 사용, REST API, 데이터 Deserialize, 리스트뷰를 사용하는 시나리오로 프로젝트 생성부터 MVP설계에 맞춘 튜토리얼 기사가 나왔습니다. Kotlin 프로젝트 만들기 1(Building a Kotlin project), Kotlin 프로젝트 만들기 2(Building a Kotlin project)를 확인해보세요. 차근히 따라하시면 RxJava, RecyclerView CardView, Glide, Retrofit2등 다양하고 핫한 라이브러리들도 사용해 볼 수 있는 기회가 될 것입니다!

RxAndroid

  • 이번주도 그냥 지날 수 없죠! RxAndroid Basic2: Part2)에서 지난주에 이어 RxJava의 또 다른 컨셉을 소개합니다. 첫번째는 Observable이면서 Observer이기도 한 Subject로 다양한 Subject형태 중 가장 간단한 Publish Subject 사용을 확인해 볼 수 있습니다. 그리고 함수형 프로그래밍을 해보셨다면 map operator가 익숙하실텐데요, Map()을 두번째 개념으로 소개하고 있습니다. 마지막으로 debounce개념을 소개하며 지난주RxAndroid Basic2: Part1)부터 이번 기사에서 제시한 개념들을 모두 활용한 끝판왕 예제가 포함되어있으니 RxJava의 기본을 다지고 싶으신 분들은 확인해보시면 좋을 것 같습니다.

생산성 향상을 위한 꿀팁!

  • 앱을 개발하면서 데이터베이스, 업그레이드 관련 등 중간중간 데이터를 지워야 할 일이 생기죠? 그때마다 멀티패스킹 메뉴를 열고 데이터를 삭제하고 확인 후 다시 앱을 여는 과정을 반복하시느라 고생많으셨습니다! Android Studio와 IntelliJ IDEA를 사용하시는 분들께 생산성 향상을 위한 꿀팁! 편리하게 앱 데이터 지우기(Clear the app data quickly)에서 ADB IDEA 플러그인을 소개해드립니다. 한 번 사용해보실까요?

더 읽을 거리

3월 둘째 주의 기사를 Android Weekly 195 영어 원문에서 볼 수 있습니다.

지난 뉴스가 궁금하다면 아래 링크를 참고해 주세요.

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.


Realm Korea

Realm Korea Team

4 design patterns for a RESTless mobile integration »

close