Android Weekly(http://androidweekly.net/)는 매주 발행되는 안드로이드 뉴스레터입니다. 영어 기사를 정독할 시간이 없는 분을 위해 핵심 꼭지를 요약했습니다.
주간 안드로이드 뉴스를 요약해 드립니다. Android Weekly 191 원문도 읽어보세요.
Kotlin의 강력한 기능 소개와 안드로이드 적용 가이드
이번 뉴스레터는 Kotlin 특집이라고 해도 과언이 아닐만큼 Kotlin 관련 기사가 많았습니다. 내용을 읽어 보면 과연 Kotlin이 괜히 대세가 아니구나 싶습니다. 어떤 기사가 있는지 살펴 볼까요?
- 최근 안드로이드 개발에서 JetBrains의 JVM을 위한 Kotlin® 언어가 인기를 모으고 있는데요. 구글 직원인 Doug Stevenson이 Kotlin과 안드로이드 사용 경험에 대한 연작 기고를 시작했습니다. Kotlin과 안드로이드 실전 경험 1편(Kotlin & Android: A Brass Tacks Experiment, Part 1)에서는 새 안드로이드 프로젝트에 Kotlin을 적용하는 법에 대해 알려줍니다.
- Kotlin은 receiver 객체에 lambda를 사용하여 안전한 형변환이 가능한 builder(type-safe builder)를 제공하므로 XML처럼 복잡한 데이터 구조를 가진 문서도 구축할 수 있습니다. 프로젝트에 Kotlin을 적용했다면 Kotlin과 안드로이드 실전 경험 2편(Kotlin & Android: A Brass Tacks Experiment, Part 2)에서 Kotlin의 멋진 기능을 확인해 보세요.
- Kotlin 1.0 RC가 출시되면서 Kotlin의 위상은 점점 높아지고 있습니다. 안드로이드 개발을 위한 Kotlin의 어마무시한 기능(Kotlin awesome tricks for Android)에서 Kotlin 학습 시작을 위한 참조 서적과 사이트를 소개하면서 Kotlin의 멋진 기능도 살펴봅니다. 보다 명확한 클릭 리스너와 쉬운 레이아웃 inflate, 강력한 성능의 ImageView, 개선된 메뉴 switch문와 스낵바, context 사용 개선, lambda 사용과, AsyncTask 대안, 쉬운 collection 사용, Operator 오버로딩, getter/setter 제거, 쉬운 activity 시작, findViewById 대안 등 여러 가지 기능을 살펴 보세요. 기능 리스트만 봐도 정말 개발하기 편해 보이네요!
RxJava도 놓칠 수 없죠!
안드로이드 뿐만 아니라 Java 개발자에게도 인기 높은 RxJava 관련 기사도 많았습니다. RxJava를 Kotlin에서 사용할 때의 장점을 다룬 흥미로운 기사를 포함한 RxJava 관련 기사를 모아 봤습니다.
- 보다 적은 코드로 많은 기능을 만들거나, 코드 재작성을 줄이면서도 요구사항에 맞춰갈 수 있다면 좋겠죠? 생산성과 퀄리티가 향상되는 RxJava가 인기인데요. Thomas Nield가 Java 언어의 대안책으로 Kotlin을 접하면서 느낀 Kotlin과 RxJava 결합 사용의 장점을 Kotlin + RxJava = Functional Powerhouse에서 Java와 Kotlin을 비교하는 예제 코드와 함께 설명합니다. 예를 들어 Java에서 48줄이 필요한 코드를 Kotlin에서는 아래 예제처럼 5줄로 줄일 수 있습니다.
fun main(args: Array<String>) {
data class CodePair(val letter: String, val number: Int)
val letter = Observable.just("Alpha", "Beta", "Gamma", "Delta", "Epsilon")
val number = Observable.just(1, 2, 3, 4, 5)
val zipped = Observable.zip(letter, number) { l, n -> CodePair(l, n) }
zipped.subscribe { System.out.println(it) }
}
- 이벤트 버스 라이브러리를 RxJava로 대체하기(Use RxJava instead of Event Bus libraries)에서 이벤트 버스 라이브러리 대신 RxJava를 사용하는 방법을 알려줍니다. Otto 대신 RxJava를 사용하면 상투적인 콜백 코드 블록을 제거할 수 있다고 하니 코드가 많이 단축될 것 같습니다.
안드로이드 아키텍쳐 패턴
안드로이드 개발자라면 누구나 애플리케이션의 구조를 보다 깔끔하게 정리하고 싶을 텐데요. 이번 뉴스레터에는 Architecture pattern 관련 기사도 실려 있으니 참고해보세요.
-
Clean Architecture pattern으로 안드로이드 앱 개발하기 (Developing Android apps using the Clean Architecture pattern)에서 앱에 Clean Architecture 패턴을 적용하는 단계별 가이드가 나왔습니다. 기본 프로젝트를 GitHub에서 받은 후 새 use case와 core layer의 Interactor를 작성하고 테스트하는 방법, presentation layer와 storage layer를 작성하는 방법을 단계별로 상세히 알려줍니다.
- 로딩 데이터 생명주기 파악하기(Making loading data lifecycle aware)에서는 Loader를 사용해 로딩 데이터의 생명주기를 파악하는 방법을 알려줍니다. Loader는 주로 Cursor를 위한 CursorLoader로 사용되지만 데이터의 출처를 모니터링하여 그 콘텐츠가 변경되면 새 결과를 전달하는 기능이 있어 로딩 데이터 파악에도 사용할 수 있습니다. 안드로이드 개발 패턴에 관심이 있다면 Android Development Patterns Collection도 함께 살펴 보세요. 앱 개발에 적용할 수 있는 패턴을 공유하는 커뮤니티입니다.
그 밖에도 흥미로운 기사가 많습니다.
- 안드로이드 스튜디오에서 안드로이드 앱을 디버깅하는 짧고 유용한 팁을 안드로이드 버그 퇴치법(
An Android Love Affair: Squashing Bugs)에서 만나보세요. gif가 포함돼서 과정을 따라하기 쉽네요.
- 재생 중인 오디오 스트림을 시각화하는 법을 알려주는 연작 가이드입니다. Visualiser – Part 1에 이은 Visualiser – Part 2가 나왔습니다.
더 읽을 거리
2월 둘째 주의 기사를 Android Weekly 191 영어 원문에서 볼 수 있습니다.
지난 뉴스가 궁금하다면 아래 링크를 참고해 주세요.
- 주간 안드로이드 뉴스 #190 한글 요약
- 주간 안드로이드 뉴스 #189 한글 요약
- 주간 안드로이드 뉴스 #188 한글 요약
- 주간 안드로이드 뉴스 #187 한글 요약
- 주간 안드로이드 핫 뉴스 #186 우리말 동영상 요약
컨텐츠에 대하여
이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.