다른 플랫폼에 동일한 제품을 구현한다면, 재사용할 수 있는 부분이 많을 것입니다. 특히 비즈니스 로직 부분읜 거의 동일합니다. 따라서 소스 코드를 공유할 수 있다면 큰 이득이 발생합니다.
풀스택 개발
많은 회사가 웹 개발을 기반으로 하고, 웹사이트를 사용하며 백엔드 애플리케이션이 필요합니다.
다만, 프론트와 백엔드는 서로 사용하는 언어가 다르기에 분리해서 개발합니다.
백엔드에서 코틀린은 스프링 등의 다른 프레임워크를 사용할 수 있고, 코틀린 백엔드 프레임워크인 Ktor도 많이 사용되고 있습니다. 더 나아가서 코틀린은 자바스크립트로도 컴파일될 수 있습니다.
이미 많은 코틀린/JS 라이브러리가 있으며, 코틀린을 활용해 다양한 웹 애플리케이션을 만들 수 있습니다.
즉, 백엔드와 프런트엔드를 모두 코틀린으로 만들 수있다는 것입니다. 이는 단순하게 만들 수 있다는 개념을 떠나서, 서로 코드를 공유할 수도 있다는 의미입니다. 따라서 백엔드와 프론트엔드에서 공통적으로 사용할 수 있는 코드, API 엔드포인트 정의, 추상화 등을 재사용할 수 있습니다.
모바일 개발
이러한 기능은 모바일 세계에서 훨씬 더 유용합니다.
일반적으로 안드로이드와 IOS는 거의 대부분 동일한 동작을 하지만 서로 다른 언어와 도구를 사용하여 개발해야 합니다.
만약, 코틀린 멀티 플랫폼 기능을 활용하면, 로직은 한 번만 구현하고 이를 재사용할 수 있습니다.
공통 로직은 코틀린으로 만들거나, 다른 공통 모듈을 활용해서 만들 수 있습니다.
라이브러리
공통 모듈을 정의할 수 있다는 것은 라이브러리에 있어서 강력한 도구입니다. 특히 플랫폼에 크게 의존하지 않습니다.
함께 사용하기
코틀린을 사용하면 널리 사용되는 대부분의 장치와 플랫폼을 대상으로 개발할 수 있으며, 원하는 코드들을 재사용할 수 있습니다.
코틀린으로 할 수있는 것들은 아래와 같습니다.
- 코틀린/JVM을 사용한 백엔드 개발
- 코틀린/JS를 사용한 웹사이트 개발
- 코틀린/JVM을 사용한 안드로이드 개발
- 코틀린/네이티브를 통해 Objective-C/스위프트 iOS 프레임워크 개발
- 코틀린/JVM을 사용한 데스크톱 개발
- 코틀린/네이티브를 사용한 라즈베리파이, 리눅스, macOS 프로그램 개발
공통 모듈을 사용하면 여러 플랫폼에서 코드를 재사용할 수 있습니다.
'스터디 > 이펙티브 코틀린' 카테고리의 다른 글
아이템 21 - 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라 (0) | 2025.01.13 |
---|---|
아이템 18 - "코딩 컨벤션을 지켜라" (0) | 2025.01.06 |
아이템 10- "단위 테스트를 만들어라" (0) | 2024.12.23 |
아이템 1 - "가변성을 제한하라" (0) | 2024.12.09 |
[이펙티브 코틀린] 2장 - 가독성 (0) | 2024.01.28 |