본문 바로가기
Kotlin/Release Notes

[Kotlin Release Notes] KotlinConf Keynote Recap

by 노력남자 2023. 9. 4.
반응형

2017년 11월 2일

 

오늘은 코틀린 커뮤니티에게 멋진 날입니다. KotlinConf, 첫 번째 Kotlin 컨퍼런스가 오늘 개최되며, 세계 각국에서 약 1200명의 참가자가 샌프란시스코에서 함께 모여 참여하고 있습니다. 컨퍼런스 키노트에서 코틀린의 주요 개발자인 안드레이 브레슬라브가 몇 가지 주요 개발 동향을 발표하였으며, 이제 그 내용을 모두와 공유하고자 합니다.


Kotlin 1.2 RC


키노트에서 가장 큰 발표 중 하나는 Kotlin 1.2 릴리스 후보판의 출시입니다. 이번 릴리스의 새로운 기능으로는 실험적인 멀티플랫폼 프로젝트 지원이 포함되어 있습니다. 이를 통해 JVM 및 JavaScript를 타겟으로 하는 모듈 간에 코드를 공유할 수 있으며, 어노테이션에서 배열 리터럴 지원을 비롯한 몇 가지 언어 개선도 이루어졌습니다. 더 자세한 내용은 Kotlin 1.2 베타 발표 블로그 포스트를 확인해주시기 바랍니다.

컴파일러는 이제 이전 Kotlin 1.2 프리릴리스 버전으로 컴파일된 이진 파일을 거부합니다. 이를 위해 이 릴리스로 다시 컴파일해야 합니다. 물론 Kotlin 1.0.x 또는 1.1.x로 컴파일된 코드는 이 릴리스의 컴파일러와 완벽하게 호환됩니다.

비록 코루틴이 여전히 실험적인 기능으로 표시되어 있지만, 이 상태의 정확한 의미를 명확히 하고자 합니다. 코루틴은 제품 개발에 완전히 사용할 준비가 되어 있으며, 우리는 이미 우리 자신의 개발에서 사용하고 있으며 구현에 큰 문제가 없음을 확인하였습니다. 실험적 상태를 유지하는 이유는 설계에 대한 반복을 할 수 있는 능력을 제공하기 때문입니다. 현재 API가 변경되더라도 현재 API는 지원될 것이며, 물론 이후에는 폐기 예정으로 표시되겠지만 필요한 이동 도구를 제공할 것입니다. 현재 계획에 따르면 코루틴의 실험적 상태는 Kotlin 1.3에서 제거될 예정입니다.

이제 여러분의 도움이 필요한 시간입니다. 우리는 내부적으로와 JetBrains의 다른 팀과 함께 이 릴리스를 많이 테스트해보았지만, 실제 세계는 우리가 접근하는 범위보다 더 다양합니다. 따라서 여러분의 도움이 최종 릴리스를 원활하게 보장하는 데 중요합니다. 여러분의 프로젝트에서 Kotlin 1.2 RC를 시도해보고 어떤 문제가 발생하는지 알려주시기 바랍니다. 여러분의 도움은 원활한 최종 릴리스를 보장하는 데 필수적입니다.
모두에게 시도해보라고 전달하세요


Kotlin/Native iOS 지원


우리가 발표한 다음 큰 소식은 Kotlin/Native을 사용한 iOS 개발 지원입니다. Kotlin/Native 0.4의 일부로 출시되었으며, 아직 초기 단계이지만 Kotlin 개발을 모든 플랫폼에서 가능하게 하는 길에 큰 한 걸음입니다.

가능한 내용을 보여주기 위해 두 개의 앱을 만들고 앱 스토어에 출시하였습니다:

  • The Spinner 앱 (GitHub)은 OpenGL을 사용하여 구축된 간단한 게임입니다. iOS와 Android 모두에서 실행되며, 코드의 대부분은 두 버전 간에 공유됩니다. iOS 버전에는 게임 센터 통합과 같은 여러 추가 기능이 포함되어 있습니다.
  • KotlinConf 앱 (GitHub)은 이 컨퍼런스의 일정을 보여주며, UIKit을 사용하여 완전히 네이티브 iOS UI가 구축되었습니다.

이 두 샘플 앱 모두 오픈 소스이며, Kotlin으로 순수한 크로스 플랫폼 모바일 앱을 구축하기 위한 템플릿으로 사용할 수 있습니다.

 

Kotlin/Native IDE 지원


물론 어떤 언어로든 생산적으로 작업하려면 IDE가 필요합니다. 오늘부터 Kotlin/Native도 IDE 지원이 가능합니다.
우리는 이제 Kotlin/Native 플러그인의 초기 미리 보기 버전을 CLion, 우리의 C/C++ IDE,에 출시합니다. 이 플러그인은 빌드 시스템으로 CMake를 지원합니다. Kotlin 플러그인 for IntelliJ IDEA의 전체 코드 편집 기능뿐만 아니라 프로젝트 생성, 테스트 및 디버깅에 대한 초기 지원도 포함되어 있습니다.

 


플러그인을 시도하려면 CLion 2017.3 EAP를 설치한 다음 JetBrains 플러그인 목록에서 "Kotlin/Native"을 검색하십시오.

다음 몇 일 안에는 플러그인 및 해당 기능에 대한 자세한 내용을 다루는 별도의 블로그 포스트를 게시할 예정입니다. 물론, CLion 플러그인은 Kotlin IDE 지원의 한 단계일 뿐이며, 내년에 더 많은 발표를 기대해주십시오!


Ktor 0.9


서버 측 개발도 우리의 멀티플랫폼 이야기의 중요한 부분입니다. 이제 우리는 이 분야에 대한 우리만의 해결책을 발표하고 있습니다. Kotlin으로 처음부터 빌드된 멋진 비동기 코루틴 기반 웹 프레임워크인 Ktor의 0.9 릴리스를 발표합니다.

Ktor는 이미 JetBrains 내부 및 커뮤니티에서 여러 프로젝트에서 사용되고 있으며, 지금은 매우 높은 성능의 웹 애플리케이션을 구축하는 강력한 기반이라고 자신할 만큼 충분히 실용적입니다. ktor.io에서 빠른 시작 가이드를 확인하고 시도해보시고, 1.0 릴리스에 더욱 향상시키기 위한 의견을 알려주시기 바랍니다.


React와 Kotlin을 사용한 현대적인 웹 앱 생성


Kotlin으로 웹 프론트엔드 개발을 하려면 오늘 가장 큰 뉴스는 React.js의 공식 Kotlin 래퍼와 함께한 공식 Kotlin React 래퍼의 릴리스입니다. 또한 create-react-kotlin-app도 릴리스되었으며, 이는 React.js를 사용하여 Kotlin으로 현대적인 웹 애플리케이션을 생성하기 위한 도구 상자입니다. create-react-kotlin-app을 사용하면 프로젝트 설정과 빌드 구성을 걱정하지 않고 클라이언트 측 앱에서 작업을 시작할 수 있으며, 정적으로 타입화된 언어의 장점과 JavaScript 생태계의 힘을 활용할 수 있습니다.

시작하려면 npm install -g create-react-kotlin-app을 실행하고 시작 가이드를 확인하십시오.

 

멀티플랫폼 프로젝트 데모


우리의 멀티플랫폼 이야기의 모든 조각이 어떻게 맞물리는지 보여주기 위해 최신 기술 스택의 모든 부분을 사용하여 앱을 구축했습니다. KotlinConf 앱이라는 이 앱은 다음 구성 요소로 구성됩니다:

  • Ktor를 사용한 백엔드;
  • React.js 및 Kotlin React 래퍼를 사용한 브라우저 앱;
  • Anko와 Android Architecture Components를 사용한 Android 앱;
  • UIKit을 사용한 iOS 앱(위에서 언급함).

 

백엔드, 브라우저 앱 및 Android 앱은 Kotlin 멀티플랫폼 프로젝트 기술을 사용하여 코드를 공유합니다. 비동기 프로그래밍을 위해 모든 구성 요소는 코루틴을 사용합니다. 서버와 클라이언트 간의 데이터 교환을 위해 새로운 kotlinx.serialization 라이브러리를 사용합니다.

이 앱의 소스 코드는 여러분의 작업에도 사용할 수 있는 다양한 기술의 보고서입니다.


Kotlin 배우기


Kotlin 주변의 모든 소문으로 인해 언어를 배우고자 하는 관심 있는 사람들이 더 많아질 것입니다. 이를 더 쉽게 하기 위해 EduTools 플러그인의 새 버전을 출시하여 즐겨찾는 IDE에서 대화식 연습을 통해 Kotlin을 배울 수 있게 되었습니다. 새 버전에서는 Android Studio를 지원하도록 추가되었으며, 사용자 정의 코스를 만들기 위한 새로운 UI도 포함되어 있습니다.


미래 방향


언어의 미래 발전에 대해서는 현재 단계에서 Kotlin이 지원하는 플랫폼 간의 더 나은 코드 재사용을 가능하게 하는 것이 우리의 주요 목표입니다. 우리는 모든 플랫폼에서 동일한 API를 갖는 라이브러리 세트를 확장하여 I/O, 네트워킹, 직렬화, 날짜 처리 등을 포함할 계획입니다.

컴파일러의 경우, 1.3 버전을 위한 주요 초점은 외부에서 볼 수 있는 언어 기능이 아닌 내부적인 변경에 있을 것입니다. 이러한 내부적인 변경은 성능 향상, 더 나은 유추형, 모든 대상 플랫폼에 대한 더 효율적인 코드 생성 및 IDE 플러그인의 훨씬 더 나은 응답성을 가능하게 할 것입니다. 우리는 여전히 좋은 새 언어 기능을 추가할 수 있을 것으로 희망하지만, 현재 시점에서는 어떠한 약속도 하지 않고 있습니다.

코틀린을 더욱 즐겨보세요!

 

원문

 

https://blog.jetbrains.com/kotlin/2017/11/kotlinconf-keynote-recap/

반응형

댓글