공통 모듈을 추출해서 여러 플랫폼에서 재사용하라.

들어가기에 앞서..

  • 기업이 하나의 플랫폼만을 대상으로 애플리케이션을 만드는 경우는 없다.
    • ex)최소 서버와 클라이언트
  • 애플리케이션끼리는 서로 소통하므로, 재사용할 수 있는 부분이 많다
    • 특히 다른 플랫폼에서 동일한 제품인 경우, 비즈니스 로직
  • 코드를 공유할 수 있다면, 큰 이득이 발생한다.

풀스택 개발이 가능하다!

  • 일반적으로 웹 개발은 자바스크립트, 백엔드는 자바를 사용한다.
  • 코틀린은 스프링 등의 다른 프레임 워크를 모두 사용할 수 있다.
    • 자바의 인기 있는 대안이 되고있다.

코틀린은 자바스크립트로 컴파일될 수 있다.

  • 이미 많은 코틀린/JS 라이브러리가 있으며, 이를 활용해 다양한 웹 애플리케이션을 만들 수가 있다.
    • ex) 리액트 프레임워크와 코틀린/JS를 함께 사용
  • 이는 곧 백엔드와 프런트엔드 모두 코틀린으로 작성할 수 있다는것을 의미한다.
  • 공통 코드, API 엔드포인트 정의, 추상화 등을 재사용할 수 있다.

모바일 개발

  • 일반적으로 안드로이드와 iOS앱은 대부분 동일한 동작, 비슷한 로직을 사용하지만 다른 언어와 도구를 사용해야한다.
  • 코틀린의 멀티 플랫폼 기능을 활용한다면 공통 모듈을 통해 로직을 한 번만 구현하고, 두 플랫폼 모두에서 재사용할 수 있다.
    • 각 프레임워크 및 플랫폼에 종속되지 않고 독립적이어야 한다.

함께 사용하기

  • 코틀린을 사용하면 대부분의 장치와 플랫폼을 대상으로 원하는 코드를 재사용해서 개발할 수 있다.

예시

  • 백엔드, 안드로이드 개발, 데스크톱 개발 - 코틀린/JVM
    • 스프링, Ktor, 안드로이드SDK, TomadoFX 등
  • 웹사이트 개발 - 코틀린/JS
    • 리액트 등
  • Objective-C/스위프트로 iOS 프레임워크, 라즈베리파이, 리눅스, macOS프로그램 개발 - 코틀린/네이티브

정리

  • 이번 장은 코드를 안전하고 효율적으로 재사용할 수 있게 하는 코드 구성 방법의 예시입니다.
  • 공통 모듈을 통해 여러 플랫폼에서 코드를 재사용할 수 있다.