본문 바로가기

Reading Record/이펙티브 코틀린

[이펙티브 코틀린] Item25. 공통 모듈을 추출해서 여러 플랫폼에서 재사용하라

풀스택 개발

  • 최근 코틀린은 백엔드 개발을 위한 자바의 대안이 되고 있음
  • 코틀린은 자바스크립트로 컴파일 될 수 있음
    • 이미 많은 코틀린/JS 라이브러리 존재
  • 코틀린은 웹 백엔드와 프론트엔드를 만들 수 있다는 장점이 있다.
    • 이는 단순하게 만들 수 있다는 개념을 떠나서, 서로 코드를 공유할 수도 있다는 뜻
    • 따라서 공통 코드, API 엔드포인트 정의, 추상화 등을 재사용 할 수 있음

모바일 개발

  • 코틀린의 멀티 플랫폼 기능을 활용하면, 로직을 한 번만 구현하고, 두 플랫폼에서 이를 재사용할 수 있음
  • 공통 모듈을 만들고, 다양한 비즈니스 로직을 구현하면 됨
    • 비즈니스 로직은 프레임워크와 플랫폼에 종속되지 않고 독립적이어야 한다.
  • 안드로이드는 Gradle을 사용해서 동일한 방법으로 만들어지므로 직접 사용할 수 있음
  • iOS는 코틀린/네이티브를 사용하면,  Object-C 프레임워크로 변환할 수 있음

코틀린으로 만들 수 있는 것들

  • 코틀린/JVM을 사용한 백엔드 개발 - 스프링, Ktor
  • 코틀린/JS를 사용한 웹사이트 개발 - 리액트
  • 코틀린/JVM을 사용한 안드로이드 개발 - 안드로이드 SDK
  • 코틀린/네이티브를 통한 Object-C/스위프트로 iOS 개발
  • 코틀린/JVM을 사용한 데스크톱 개발 - TornadoFX
  • 코틀린/네이티브를 사용한 라즈베리파이, 리눅스, macOS 프로그램 개발