Amper는 프로젝트 구성 및 빌드 도구입니다. 목표는 훌륭하고 원활한 사용자 경험과 IDE 지원을 제공하는 것입니다. 우리는 이것이 다음을 통해 달성될 수 있다고 믿습니다.
개발자 및 IDE 친화적인 선언적 구성 DSL 제공 - 초기 설정을 단순화할 뿐만 아니라 유지 관리성을 개선하고 IDE가 자동 구성을 안정적으로 지원할 수 있도록 합니다.
호환되는 플러그인을 찾을 필요 없이 대부분의 시나리오를 지원하기 위해 선별된 호환 가능한 툴체인 및 확장 세트를 번들로 묶습니다.
확장성 지점을 신중하게 선택 - 구성의 전반적인 정신 모델과 UX를 일관되게 유지하고 예기치 않은 타사 코드 실행을 방지합니다.
본질적으로 우리는 JetBrains IDE와 마찬가지로 잘 고려되고 잘 테스트된 경험을 달성하는 것을 목표로 합니다.
현재는 빌드, 패키징, 퍼블리싱 등을 위한 프로젝트 구성을 비롯한 다양한 측면을 검토하고 있습니다. 그러나 현재 단계에서는 주로 건축을 위한 프로젝트 구성에 중점을 두고 있습니다. 현재 사용 사례는 Kotlin 및 Kotlin Multiplatform이지만 Amper는 Java 및 Swift도 지원합니다(멀티플랫폼의 요구 사항). 그러나 구성에 대한 동일한 접근 방식은 향후 다른 언어 및 기술 스택에서도 작동할 수 있습니다.
Amper는 독립형 빌드 도구이자 기존 Gradle 기반 프로젝트를 위한 Gradle 플러그인으로 존재합니다. 두 버전 모두 통합되고 사용하기 쉬운 선언적 구성 형식을 제공합니다.
지원되는 기능:
JVM, Android, iOS, Linux 및 macOS 애플리케이션을 생성하고 실행합니다.
Kotlin 다중 플랫폼 라이브러리 만들기
테스트를 실행 중입니다.
Kotlin, Java, Swift 코드를 혼합합니다.
IntelliJ IDEA 및 Fleet의 모듈 파일에 대한 코드 지원입니다.
다중 모듈 프로젝트.
Compose 다중 플랫폼 사용.
Compose 다중 플랫폼 리소스 사용*.
하나의 프로젝트*에서 Amper 및 Gradle 모듈 결합을 포함한 Gradle 상호 운용성.
Gradle 버전 카탈로그*와 통합.
기존 Gradle 프로젝트*의 원활한 마이그레이션을 위한 Gradle 호환 프로젝트 레이아웃.
* Gradle 기반 프로젝트에만 해당
향후 방향:
더 많은 Kotlin 및 Kotlin 다중 플랫폼 시나리오 및 구성을 지원합니다.
watchOS, Windows 등과 같은 더 많은 제품 유형 및 플랫폼
Android 계측 테스트를 포함한 플랫폼별 테스트 유형입니다.
CocoaPods, Swift Package Manager와 같은 기본 종속성 지원.
포장 및 출판.
빌드 변형 지원.
확장성.
빠른 시작을 위해:
설정 및 사용 지침
지도 시간
선적 서류 비치
예시 프로젝트
Gradle 마이그레이션 가이드
Amper는 문제 추적을 위해 YouTrack을 사용하고 거기에서 새 문제를 생성하여 문제를 보고하거나 아이디어를 제출합니다.
문제를 신고하기 전에 FAQ를 확인하세요.
토론을 위해 Slack 채널에 참여하거나 피드백 양식을 사용하여 피드백을 공유할 수도 있습니다.
Amper를 사용해 보는 방법에는 여러 가지가 있습니다.
JVM 및 Android 프로젝트용 최신 IntelliJ IDEA EAP(지침).
JVM, Android 및 멀티플랫폼 프로젝트용 최신 JetBrains Fleet(지침)
명령줄에서 독립형 Amper를 사용합니다.
명령줄에서 Gradle 기반 Amper를 사용하여 Gradle 기반 Amper 프로젝트를 빌드합니다.
다음은 매우 기본적인 JVM "Hello, World!"입니다. 프로젝트:
main.kt
및 MyTest.kt
파일은 특별한 내용이 없는 일반 Kotlin 파일입니다. 흥미로운 부분은 Amper 모듈 구성 파일인 module.yaml
입니다. 위의 프로젝트 구조의 경우 간단히 다음과 같습니다.
# JVM 응용 제품 생성: jvm/app
그게 다야. Kotlin 및 Java 툴체인, 테스트 프레임워크, 기타 필수 기능은 즉시 구성되어 사용할 수 있습니다. 빌드, 실행, 테스트 작성 및 실행 등의 작업을 수행할 수 있습니다. 자세한 내용은 전체 예제를 확인하세요.
이제 Fleet에서 다음 프로젝트 구조를 사용하여 Android, iOS 및 데스크톱 JVM 앱이 포함된 Compose 다중 플랫폼 프로젝트를 살펴보겠습니다.
src/
폴더에 Kotlin 및 Swift 코드가 어떻게 함께 포함되어 있는지 확인하세요. 물론 Kotlin과 Java도 가능합니다. 강조할 또 다른 측면은 src
폴더의 공통 코드와 플랫폼별 코드 폴더 src@ios
및 src@android
(프로젝트 레이아웃에 대해 자세히 알아보기)가 있는 공유 모듈입니다.
ios-app/module.yaml
파일은 다음과 같습니다.
# iOS 애플리케이션 제품 생성: ios/app# 공유 라이브러리 모듈에 따라 다름: 종속성: - ../sharedsettings: # Compose 다중 플랫폼 프레임워크를 활성화합니다. compose: 활성화됨
이는 매우 간단합니다. 공유 모듈에 대한 종속성을 사용하여 iOS 애플리케이션을 정의하고 Compose Multiplatform 프레임워크를 활성화합니다. 더 흥미로운 예는 shared/module.yaml
입니다:
# JVM, Android 및 iOS 플랫폼용 공유 라이브러리를 생성합니다:product: 유형: lib 플랫폼: [jvm, android, iosArm64, iosSimulatorArm64, iosX64]# 공유 구성 종속성:종속성: - $compose.foundation: 내보냈습니다. - $compose.material3: 내보내기# Android 전용 종속성 dependency@android: # Compose와 Android 관련 통합 - androidx.activity:activity-compose:1.7.2: 내보냄 - androidx.appcompat:appcompat:1.6.1: 내보냈습니다# CocoaPod에 대한 종속성을 포함한 iOS 전용 종속성(아직 구현되지 않음) dependency@ios: - pod: 'Alamofire' version: '~> 2.0.1'settings: # Kotlin 직렬화 활성화 kotlin: 직렬화: json # Compose 다중 플랫폼 프레임워크를 활성화합니다. compose:enabled
몇 가지 언급할 가치가 있습니다. 먼저 플랫폼별 종속성( @<platform>
한정자가 있는 섹션)을 확인하세요. 플랫폼 한정자는 매니페스트와 파일 레이아웃 모두에서 사용할 수 있습니다. 한정자는 특정 플랫폼에 대한 코드, 종속성 및 설정을 구성합니다. 둘째, 종속성: 섹션에서는 Kotlin 및 Maven 종속성뿐만 아니라 CocoaPods, Swift Package Manager 등과 같은 플랫폼별 패키지 관리자도 허용합니다.
당연히 이러한 예에서는 제한된 Amper 기능 세트만 보여줍니다. 디자인과 기능에 대한 더 많은 통찰력을 얻으려면 문서, 튜토리얼, 예제 프로젝트를 살펴보세요.
다음 예제 프로젝트를 확인하세요.
JVM "안녕하세요, 세계!" (독립형, Gradle 기반)
Compose 다중 플랫폼(독립형, Gradle 기반)
iOS(독립형, Gradle 기반), Android(독립형, Gradle 기반) 및 데스크톱(독립형, Gradle 기반)에서 Compose
공유 Compose UI와 기본 Android 및 iOS UI가 포함된 Kotlin 다중 플랫폼 앱 템플릿
Gradle 기반 Amper의 Gradle 상호 운용성
기타 독립형 및 Gradle 기반 예제