[Effective Kotlin] 아이템 25 : 공통모듈을 추출해서 여러플랫폼에서 재사용하라

0

기업이 한플랫폼만을 대상으로 어플리케이션을 만드는것은 없다.

다른 플랫폼에서 동일한 제품을 구현할때, 재사용할수 있는 부분이 많다.
특히 비즈니스 로직부분들은 동일하기 때문에 소스코드를 공유한다면 큰 이득이 발생한다.

풀스택 개발

백앤드에서 가장 인기있는 선택지는 자바이다.
하지만 코틀린은 자바에서 가장많이 활용되는 스프링같은 다른 프레임워크들을 사용할 수 있다.

그래서 코틀린 백앤드 프레임워크인 Ktor도 점점 많이 사용되고있다.

코틀린이 자스크립트로 컴파일 될수있다.
따라서 공통코드, API 엔드포인트 정의, 추상화등을 재사용할 수 있다.

모바일 개발

안드로이드와 아이폰은 비슷한 로직을 사용하지만, 다른언어와 도구를 사용해서 따로 개발한다.

코틀린의 멀티플랫폼 기능을 활용하면 로직을 한번만 구현하고 두 플랫폼에서 재사용할 수 있다.

이때 비즈니스 로직은 프레임워크와 플랫폼에 종속되지 않고 독립적이여야한다.

안드로이드의 경우, 그레이들을 사용해서 굉장히 쉽게 공통 모듈을 활용할 수 있다.

IOS의 경우, LLVM을 사용하여 네이티브 코드로 컴파일할 수 있는 코틀린/네이티브를 사용하면, Objective-C 프레임워크로 변환할 수 있다.

라이브러리

공통 모듈을 정의하는것은 라이브러리에 있어서 강력한 도구이다.
특히 플랫폼에 의존하지 않는다는 점은 네이티브 환경에서 작동하는 모든언어에서 활용할 수 있다는 의미이다.

사견

요즘 Kotlin Weekly를 보면 KMM에 대한 얘기가 많이 나오는데, 그러한 부분에 대한 설명 같습니다.
Flutter또한 Dart가 아닌 kotlin으로도 지원할 수 있는 프레임워크가 존재한다고 하니..

profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글