상세 컨텐츠

본문 제목

java 고인물이 kotlin 시작하는 방법

개발하고/안드

by 싸만다_ 2023. 4. 5. 12:56

본문

 

android developer

18년?19년이었나? android developer 에 example 첫 탭이 kotlin으로 바뀌었던 걸로 기억한다.

당시엔 너무 많은 사람들이 참여하는 프로젝트라.. 모두 우물쭈물하는 사이에

난 framework layer의 팀으로 이동을 했고 kotlin은 잠시 잊혀졌다.

(여전히 ui framework 쪽은 java 코드인걸 보면 아마 지금도 그대로일듯..?)

 

이후 잠시 업종을 바꾸었다가 다시 개발자로 돌아오려는 노력을 하는 요즘,

안드 개발자의 job requirement에는 kotlin이 당연히 들어가있고

고인물을 비워내야할 때가 왔다. 아니 엄청 늦었다 ㅋㅋㅋ

이제는 뭔가 구글링을 하면 java코드는 찾기도 힘들 정도.

 

 

나의 앱 개발 layout의 마지막 상태는... java, rxjava, mvvm, aac(jetpack ui) 이정도였다.

나같은 java 고인물들이 혹시나 있을까 해서. 그리고 혹시나 도움이 될까해서 기록겸 이렇게 남겨보기를 시작한다.

 

 

android developer

developer에서 제공하는 tutor step을 따라가면서 시작해 봤는데... 생각보다 뭔 소리인지 모르겠더라.

내가 실무에서 요구사항을 구현하면서 부딪히는 문제를 해결해나가면서 배우는 거랑

그냥 강의처럼 듣고 아~ 그렇구나 하는건 천지차이.

아마 이건 개발자 생활을 꽤 했던 사람이라면 공감할듯. 아님 말고.

 

 

참 말이 많다.

그래서 어떻게 다시 시작했냐!

1. 간단한 앱 java로 작성.

2. convert 기능 이용없이 하나하나 kotlin 코드로 재작성.

 

내 경우엔 이런 단계 정도만 거치고 나니 그래도 눈을 뜨게됐고

우악 너무 하기 싫어, 이런 마음은 전~혀 없어졌다. 지금은 재미삼아 슥슥 더 해보는 중.

 

 

그리고 여기서 중요한 건

"1. 간단한 앱 java로 작성." 에서 (내가 정의한) 간단한 앱이란?

앱 기능?  server로부터 n개 data 받아와서 db 저장하고 display하는 앱.
어떻게?   MVVM 구조 (databinding), rx java3 (Flowable사용), Room db, recycler view

1) aac의 viewmodel만 이용하는게 아니라 databinding을 반드시 이용하여 진정한 mvvm 갖추기.

2) room 접근시에는 live data아닌 rx java 이용하여 원샷읽기/쓰기/관찰하기 모두 활용.

--> 이 두가지는 왜??

검색 중에 보니 의외로 그냥 viewmodel 에 live data 두고 observing만 해두고 mvvm 이라는 경우가 많더라. 명확하게 하고 싶었다.

live data는 list의 경우 관찰이 안되는 경우도 있고, 무엇보다도 앞으로 kotlin에서 coroutine에 익숙해지려면 data 흐름을 제어하고 방출하는 rx가 더 도움이 된다 생각했다. (** Flowable 생각보다 쉽지 않더라..? 이것도 나중에 남겨봐야지)

 

 

 

다음은 (내가 정의한) 간단한 앱 in kotlin 으로.

2023.04.09 - [개발하고/안드] - (간단앱만들기-1) MVVM(data-bidning) + Retrofit + Room + Coroutine(Kotlin) + RecyclerView

관련글 더보기

댓글 영역