kotlin을 배우며 개발하는 안드로이드 앱
안드로이드 앱 개발의 새로운 JVM언어인 코틀린(Kotlin)을 알아가는 연재물에 오신 것을 환영합니다. 이 연재물이 안드로이드 개발 환경에서 이 놀라운 언어를 배우는데 도움이 되기를 바랍니다. 이 연재물은 여러 장으로 분리되어있습니다. 각 장은 코틀린의 여러 기능들을 포함하여 다룰 예정입니다.이 연재물은 여러 파트로 구분되어있습니다.
이 강좌의 목적은 세계 제일의 앱을 만드는 것이 아니라 (할 수도 없습니다 ㅋ) 안드로이드 앱을 개발하며 코틀린 언어와 코틀린의 주요 기능들을 설명하고자 하는 것입니다.
이 연재물에서는 Properties와 Fields, Data Classes, Null Safety, Extensions Functions, Lambda expressions, Delegation, Higher-Order Functions 뿐만 아니라 다른 흥미로운 주제들도 다루며 안드로이드 개발 시에 접하는 몇 가지 시나리오들, 예를 들어 가로/세로 방향 전환이나 서비스에 데이터를 요청하여 화면에 보여주고 Views에 바인딩하고 조작하는 방법 등도 다룰 예정입니다. 이 연재물의 구독자는 자바를 이미 알고 어느 정도의 앱 개발 경험이 있다고 생각할 것입니다.
이 연재물에서 우리는 간단한 Reddit 클라이언트 앱을 개발할 것입니다. 이 앱은 reddit으로부터 최근 뉴스들을 받아와 뉴스의 제목, 이미지, 댓글 개수, 작성된 시간과 뉴스 작성자 정보를 infinite scroll을 이용해 끊김 없이 보여줄 것입니다.
Retrofit 2.0: reddit의 public api를 이용할 때 사용합니다.
RxJava: UI 스레드와 백그라운드 태스크를 분리하기 위해 Observables을 사용합니다. API를 요청하고 UI로 결과값을 전달할 때 사용 됩니다.
Picasso: reddit으로부터 이미지를 불러올 때 사용됩니다.
RecyclerView: 정보를 보여주고 infinite scroll 기능을 쓰기 위해 RecyclerView를 사용합니다.
Kotlin Android Extensions: 코드와 UI(Views)를 연결하기 위해 사용합니다.
이 연재물에서 사용된 모든 코드들은 Github에 올라가 있습니다.
https://github.com/juanchosaravia/Keddit
다음 장에서는 코틀린을 사용하기 위해 안드로이드 스튜디오를 설정하는 방법을 다룰 것입니다. 궁금하다면 소스 저장소의 코드를 먼저 살펴봐도 상관없습니다.
질문이 있다면 언제든 편하게 소셜 네트워크로 연락 주세요. 제가 할 수 있는 한 최선을 다해 답변드릴 겁니다. 모르는 건 같이 배워나가면 돼요 :)
Twitter: https://twitter.com/juanchosaravia
LinkedIn: https://www.linkedin.com/in/juansaravia
https://brunch.co.kr/@motorcycle/14
이 게시물은 원자자의 허락을 받아 번역한 게시물입니다. 원 글은 이 미디엄 링크에서 보실 수 있습니다.
오역에 관한 피드백은 언제나 환영 합니다.