Compose for Desktop 마일스톤 1

Read this post in other languages:
English, Français, Русский

뛰어난 성능의 아름다운 사용자 인터페이스를 쉽고 재미있게 구축할 수 있는 Kotlin용 최신 UI 프레임워크인 Compose for Desktop의 첫 마일스톤 릴리스를 발표하게 되어 기쁩니다. 이 기술을 시험하기 위한 테스트 버전을 체험해 보시고, 저희에게 피드백을 보내주세요!

Compose for Desktop 랜딩 페이지 방문하기

즐거움이 넘치는 데스크톱 UI 개발

Compose for Desktop은 React 및 Flutter와 같은 다른 최신 프레임워크에서 영감을 얻은 API를 사용하여 Kotlin에서 선언적이고 반응적으로 사용자 인터페이스를 생성하는 접근법을 제공합니다. 기본적으로, Compose for Desktop을 사용하면 구성 가능한 함수를 결합하여 코드에서 데스크톱 UI를 선언할 수 있습니다. 애플리케이션의 상태와 시각적 표현을 동기화된 상태로 유지하는 작업을 자동으로 처리합니다.

프로젝트는 Android에서 UI를 개발하기 위한 툴킷인 Google의 Jetpack Compose를 기반으로 합니다. 여기서 얻을 수 있는 한 가지 놀라운 결과는 Android에서 Jetpack Compose로 작업하면서 이미 습득한 지식을 Compose for Desktop에서(그리고 그 반대의 경우도 마찬가지) 직접 활용할 수 있다는 점입니다. Compose for Desktop에서 제공하는 모든 핵심 API는 제어자, UI 요소 또는 레이아웃 기본 요소를 포함하여 모바일에 대응하는 요소처럼 동작합니다. 실제로 Compose for Desktop의 핵심은 Google Jetpack Compose의 필수적인 부분으로 개발되어 두 기술이 함께 발전 할 것입니다. 또한, 이를 통해 데스크톱과 Android 사이에서 UI 구현의 상당 부분을 공유할 수 있습니다.

Compose for Desktop은 빠르게 시작할 수 있습니다. 프로젝트 종속성을 설정한 후, 몇 줄의 코드로 간단한 상태 저장 사용자 인터페이스를 표현할 수 있고, 즉시 사용 가능한 Material Design 요소의 풍부한 라이브러리가 제공되므로 UI 생성을 곧바로 시작할 수 있습니다.

그러나 Compose for Desktop은 Android에서도 찾을 수 있는 UI 요소, 구성 가능한 함수 및 기타 개념을 뛰어 넘습니다.

데스크톱 전용 API

애플리케이션에 적절하게 통합된 데스크톱 UI를 구축하도록 Compose for Desktop에는 데스크톱 관련 기능을 노출하는 API가 자체 세트로 함께 제공됩니다. 다른 Compose API와 동일한 구조를 가지고 있으면서 애플리케이션이 마우스 포인터 이벤트에 반응하고, 애플리케이션 창의 크기와 위치를 쿼리 및 조작하며, 트레이 아이콘 또는 메뉴 모음 항목을 만드는 등의 작업을 수행할 수 있도록 합니다.

가능한 한 빨리 이러한 데스크톱 API로, 모든 관련 기능을 해결할 수 있기를 기대하고 있습니다. 그러기 위해서는 이 마일스톤 릴리스에 도입되지 못해서 가장 아쉬워할 만한 통합을 파악하고, 앞으로 이러한 인터페이스를 지속적으로 발전시키는 과정에 중점을 두어야 합니다. 이 부분에서 여러분께서 많은 의견을 보내주시길 바랍니다.

원활한 마이그레이션과 완벽한 제어

Kotlin 프로그래밍 언어 자체와 마찬가지로 Compose for Desktop도 간편한 상호 운용성과 원활한 마이그레이션이라는 철학을 따릅니다. 이에 따라 Compose for Desktop은 Swing 및 AWT와 통합하여 Compose for Desktop 애플리케이션에 이러한 Java 그래픽 API의 강력한 기능을 활용합니다. 또한, 이 통합을 통해 이러한 프레임워크를 사용하는 애플리케이션을 Compose for Desktop으로 점진적으로 마이그레이션할 수도 있습니다.

그뿐 아니라 유연성과 제어력을 극대화하기 위해 Compose for Desktop에 네이티브 Skia 그래픽 라이브러리에서 제공하는 API의 상당 부분을 공개하여 애플리케이션이 렌더링되는 방식을 사용자가 완벽하게 제어할 수 있도록 했습니다.

Compose for Desktop 배우기

Compose for Desktop이 여러분에게도 많은 관심을 받기를 바랍니다. 사용해 보려면 Compose for Desktop에서 애플리케이션을 설정하고 실행하는 데 필요한 기본 단계를 설명한 시작하기 튜토리얼을 살펴보는 것을 추천합니다. 이곳에서 이미지 조작, 마우스 이벤트 작업, 데스크톱 알림 전송과 같은 다양한 주제를 다루는 다른 튜토리얼도 볼 수 있습니다. 이 콘텐츠의 개요 정보는 Compose for Desktop 랜딩 페이지에서 확인할 수 있습니다.

Compose for Desktop 랜딩 페이지 방문하기

Compose와 관련된 일반 주제를 다룬 훌륭한 학습 자료는 Compose for Desktop에도 포함되어 있는 핵심 API와 관련된 많은 개념을 수록한 Android 개발자 포털에서 찾을 수 있습니다. Compose의 멘탈 모델 및 기본 API에 대한 개요는 자료, 동영상 등의 자료에서 다룬 10단계 Jetpack Compose Pathway를 참조하세요.

좀 더 복잡한 Compose for Desktop 사용 사례를 알아보려면 Kotlin Multiplatform을 사용하여 데스크톱과 Android 사이에서 사용자 인터페이스를 공유하는 방법이 소개되어 있는 데모 애플리케이션을 확인하세요.

사전 릴리스 노트

이것은 Compose for Desktop의 첫 마일스톤 릴리스입니다. 다시 말해서, 예상치 못한 문제가 발생하거나 일부 필요한 기능이 빠져 있을 수 있습니다. 안정적인 첫 릴리스가 나오기 전에 Compose for Desktop에서 제공하는 일부 API가 계속해서 변경될 수도 있습니다. 그러나 안정적인 첫 상용 릴리스를 출시하기 위해 노력하고 있고, 이를 위해서는 여러분의 의견이 무엇보다 중요합니다.

피드백을 공유하고, 토론에 참여하세요!

마일스톤 릴리스는 안정적인 릴리스가 나오기까지 중요한 문제를 해결하거나 추가 기능을 포함할 수 있는 기회를 주기 때문에 여러분의 피드백이 필요한 가장 중요한 시기입니다. Compose for Desktop으로 작업하면서 문제가 발생하거나 아직 데스크톱 전용 API로 다룰 수 없는 사용 사례가 있으면 프로젝트의 이슈 트래커를 통해 저희와 공유해 주세요.

다른 개발자 및 다른 팀원과 논의하고 싶으시다면, Kotlin Slack에 참여하세요. #compose-desktop에서는 Compose for Desktop에 대해 토론할 수 있고, #compose에서는 Android Compose 및 Jetpack Compose와 관련된 일반적인 주제를 놓고 토론할 수 있습니다.

Compose for Desktop을 사용하여 인터페이스를 구축하면서 많은 즐거움을 누리시길 바랍니다!

이 게시물은 Nikolay Igotti가 작성한 Jetpack Compose for Desktop: Milestone 1 Released를 번역한 글입니다.