kmm 을 학습해 보자
- RN, 플러터 등 멀티 플랫폼을 학습 하던지 이번에는 kmm 확인해 보기로 함
- 기존에는 언어와 너무 다른 환경이라서 시간이 오래 걸렸지만 안드로이드 스튜디오에서 코틀린 이라는 엄청난 장점이 있어서 바로 도전함
- 공식
학습은 우선 코드랩 부터
- 공식 문서를 보고 하나씩 따라가다 보니 어느 순간 iOS, Android 양쪽에서 사용 가능한 라이브러리까지 금방 완성
- iOS 를 잘하진 못해서 이것 저것 하면서 겨우 겨우 하긴 했지만 결국 pod 라이브러리를 만들고 이를 사용함
- 이런 저런 우여 곡절이 많았지만 어렵진 않고 iOS 개발자와 보면 금방 처리 가능함
- iOS 개발 환경(xcode) 만 있으면 안드로이드 스튜디오 에서도 ios 빌드및 실행
왜 이런 멀티 플랫폼을 학습 하는가?
- 안드로이드 전용 플랫폼의 장점이 거의 희석 되어 없어지고 있기 때문이다.
- 코틀린으로 개발하면 다른 것들 보다 빠른가? 조금?!
- 속도가 빠른가? 늦다
- 호환성이 좋은가? 좋지 않다.
- 개발자가 많이 필요 한가? 그렇다.
- 이런 저런 생각을 하면서 학습을 시작 했고 하면 할 수록 네이티브 환경의 장점이 없어 보임
- RN vs 플로터 : rn 이 나을거 같다, 웹 개발자가 많은 시점이다. 공식적인 코드푸시
- 왜 rn 을 더욱 깊이 학습하지 않고 갑자기 kmm?
- 네이티브 는 버릴수 없다.
- 어떤 환경에서도 기본적인 네이티브는 필요하다
- 그리고 기존 환경에서의 개발을 갑자기 변경은 어렵다
- 차라리 기본 네이티브에서 ios, Android 함께 사용 하는 방법이 현실적이지 않을까 생각이 들어서 이다.
- 서비스 앱을 구조화 하고 단순화 하면 간단하다.
- 서버에서 필요한 데이터 가지고 와서 보여준다.
- 서버에서 필요한 데이터를 가지고 와서 가공해서 보여준다.
- iOS, ANDROID 2개의 플랫폼을 보면 서버에서 데이터를 가지고와서 가공 하는 부분은 동일해야 한다.
- 심지어 웹, RN, 플로터 등도 동일해야 한다.
- 그리고 보여 주는 부분은 각각의 플랫폼에 맞게 보여준다.
- 데이터를 가지고 와서 가공하는 부분이 동일한 코드로 라이브러리로 만들어 져서 제공된다면?
- 이부분이 KMM 이 해줄수 있는 부분이라고 생각한다.
- 서로 다르게 개발될 내용도 없고 양쪽에서 해야 할일ㅇ르 한쪽에서 하거나 kmm 개발 전담이 생길수도 있는거다.
- 기존 네이티브 환경에서 빠르게 개발 할 수 있는 방법이 kmm 이 되지 않을까 생각함
현재 개발 하고 있는 앱은 2016년 정도 부터 개발된 서비스이고 해당 앱에 잘 적용 될까?
- YES
- iOS , Android 둘다 api 콜에서 원하는 데이터를 가지고 오는데 전혀 문제가 없다.
- 해당 라이브러리 작업을 하면 데이터를 가지고 오는 로직이 모두 분리 되어 한결 깔끔해 진다.
- 개발 하면서 UI 동작에 집중 할 수 있다.
- 실 서비스 적용에 도전하고 싶을 정도 입니다.