Scala3를 정식으로 지원하는 Play framework 2.9/3.0이 드디어 출시되었습니다!!!
View: 281
0
0
작성자: 달빛제이크
카테고리: Scala Language
발행: 2023-12-09
수정
2024-06-20
Play framework 2.9/3.0이 정식으로 출시되었습니다. Play framework 기반 프로젝트를 진행 중인 개발자 분들에게 희소식이 아닐 수 없는데요. 특히 저처럼 Scala 3를 프로젝트에 활용하고 싶어서 Update 소식만 기다렸던 분들에게는 더할 나위 없이 좋은 소식입니다.
1. Play framework version 구분
우선 Play framework version이 두 개인 거부터 설명을 드려야 할 것 같습니다. Play framework가 lightbend의 Akka를 사용하고 있는 것은 다들 아실텐데요. 2022년 10월 26일 lightbend에서 Akka 2.7.0 & Akka HTTP 10.4.0 부터 Apache 2.0 license에서 Business Source license (BSL) 1.1로 변경하겠다고 발표를 했습니다. BSL 1.1이 적용되면 기업에서 Play framework 내에 Akka를 사용하는 데 여러 제약이 발생할 것이기 때문에 Play framework 개발자들은 Akka를 지원하는 2.9 외에 Akka의 Community version이자 Apache Project로 개발되고 있는 Pekko를 지원하는 Play framework 3.0을 같이 출시하였습니다. 따라서 2.9와 3.0의 Migration Guide는 거의 동일하며 단지 3.0에서 모든 이름을 Akka 대신 Pekko로 변경해야 하는 번거로움은 있습니다.
2. Scala 3 지원
그리고... 오랜 기다림 끝에 Play framework가 드디어 Scala 3를 지원하게 되었는데요, 다만 Scala 3의 모든 version을 지원하는 것은 아니고 Scala 3.3.1과 그 이후 버전을 지원합니다. Scala 3.3이 LTS Version이기 때문에 LTS Version을 지원하는 것에 의미를 둔 것 같습니다. 기회가 되면 Scala 3.0~3.2 version은 정말 안되는 지 실험을 해보고 싶군요.
3. 호환 버전
Play framework를 처음 Set-up하거나 새 버전으로 migration 하면서 가장 어려운 점이 호환 version을 고르는 일인데, 특히 Play framework, Java, Scala, sbt 간 Version 맞추는 일이 참 번거롭게 느껴졌습니다. 아니나 다를까, 지금까지 Play framework는 Java 17까지만 지원을 했었고 이번 Version 부터 Java 21을 지원한다고 하는데, 현재 sbt는 Java 17까지만 지원을 하기 때문에 sbt를 사용하는 프로젝트에서는 Java 17 사용을 추천 드립니다. 아울러, 기존 Play framework는 sbt version 1.7.2 및 하위 버전에서만 정상 동작 했고, 그 이상 Version에서는 실행 시 Error가 발생했습니다. Play framework가 Update 되면서 sbt 지원 Version도 다시 한번 확인할 필요가 있을 것 같네요.
지금까지 Play framework 2.9/3.0 출시 소식을 전해드렸습니다. 더 자세한 내용은 Play framework 공식 홈페이지의 Document를 참고 하시기 바랍니다.
감사합니다.
