작성자: Caren Chang (개발자 관계 엔지니어)
이 글의 원문은 여기서 확인 가능하며 블로그 리뷰에는 노현석(GDE)님이 참여해주셨습니다.
저희는 WorkManager에 관한 MAD Skills 시리즈를 마무리했는데요, 혹시 놓치신 분들을 위해 주요 내용을 간단히 요약해 알려드립니다. 우선 WorkManager 라이브러리를 처음 사용하는 분들을 위해 라이브러리를 소개한 다음, WorkManager 코드의 테스트 및 디버깅 방법 등 고급 사용법에 관해 자세히 설명해 드렸습니다. 이 시리즈는 GCMNetworkManager와 FirebaseJobDispatcher의 기존 코드를 마이그레이션하여 WorkManager를 대신 사용하는 방법에 관한 설명으로 마무리했습니다.
간략히 요약하면 아래와 같습니다.
1화: WorkManager: 기초
1화에서는 WorkManager Codelab을 통해 WorkManager의 기초를 살펴보았습니다. 완료하고 싶은 작업을 정의하고 예약하는 방법에 대한 설명으로 시작했습니다. 그런 다음, 유일한 작업과 주기적인 작업이라는 유형의 작업을 구현하는 단계로 넘어갔습니다. 마지막으로, WorkManager의 작업 예약 방식을 더 잘 이해하기 위해 앱 대기 버킷(app standby buckets)을 살펴보는 것으로 이 에피소드를 마무리했습니다.
WorkManager 사용이 처음이시라면 아래 글도 참고해보세요.
2화: WorkManager: 백그라운드에서 작업
Ben은 WorkManager가 멀티스레딩을 처리하는 방식을 보다 심층적으로 살펴보며 시리즈를 계속 이어갔습니다. 스레드를 사용할 때는 Executors, 코루틴 또는 RxJava를 사용하는 옵션이 있는데, Ben은 WorkManager로 각 옵션을 이용하는 방식을 보여주었습니다. 작업 완료 시 UI를 업데이트할 수 있도록 결과를 반환하는 방법을 보여주는 것으로 이 에피소드를 마무리했습니다.
코루틴과 함께 WorkManager를 사용하는 데 관심이 있는 분이라면 Florina가 쓴 WorkManager - Kotlin API도 추천합니다.
3화: WorkManager: 고급 구성과 테스트
3화에서는 WorkManager의 초기화를 맞춤 설정하고 여러 프로세스에 걸쳐 있는 앱을 지원하는 방법에 대해 살펴봤습니다. 개발자들로부터 테스트와 디버깅에 관한 많은 질문을 받았기에, Ben은 Worker를 테스트하는 방법과 유용한 디버깅 기술도 깊이 있게 다루었습니다.
4화: GCM NetworkManager와 FirebaseJobDispatcher에서 WorkManager로의 마이그레이션
마지막 에피소드에서는 기존의 작업 예약 라이브러리(GCMNetworkManager와 FirebaseJobDispatcher)에서 WorkManager로 마이그레이션하는 방법을 중점적으로 다루었습니다. 앱이 API 레벨 30 이상을 타겟팅하기 시작하면 GCM NetworkManager와 FirebaseJobDispatcher가 Android Marshmallow(6.0) 이상을 실행하는 기기에서는 더 이상 작동하지 않게 됩니다. 앱이 계속 이런 라이브러리 중 하나를 사용 중이라면 지금 바로 WorkManager를 대신 사용하도록 앱을 업데이트하세요!
5화: Hugo와 나눈 WorkManager에 관한 대화
Android GDE Hugo Visser가 자신이 최근에 작업한 건강 관련 앱에서 WorkManager를 사용하기로 한 이유와 이 라이브러리가 개발 과정에 어떤 도움을 주었는지에 관한 이야기를 들려주었습니다.
6화: 라이브 Q&A
WorkManager 관련 질문에 답변하는 라이브 Q&A 세션으로 이 시리즈를 마무리했습니다. 녹화 영상을 통해 WorkManager에 대한 향후 계획, 중복 작업 처리, 실패한 작업 재시도 등, 세션에서 나온 질문과 답변을 모두 확인할 수 있습니다!