- Swift만으로 Android 네이티브 앱을 개발할 수 있는 프레임워크로, UI부터 매니페스트, 라이프사이클까지 단일 언어로 구성
- XML, Java, Kotlin을 전혀 사용하지 않고 선언형 UI 방식으로 Android UI를 구성하는 구조 제공
- 웹 래퍼나 트랜스파일러가 아닌 순수 네이티브 Android 프레임워크로 동작함
- SwiftUI와 유사한 선언형 문법을 통해 UI를 정의할 수 있으며, 복잡한 JNI 계층을 완전히 숨김
- Android Manifest와 Gradle 설정까지 Swift 코드로 직접 정의하는 통합 개발 경험 제공
- Swift 개발자가 Android로 확장하기 위한 새로운 네이티브 대안이며, Swift 기반 크로스플랫폼 개발의 새로운 가능성을 여는 전환점
Droid 개요
- Droid는 Swift 언어만 사용해 Android 네이티브 애플리케이션을 개발할 수 있도록 설계된 프레임워크임
- UI, 앱 설정, 라이프사이클, 매니페스트를 하나의 언어와 코드베이스에서 관리하도록 구성됨
- Android 개발 시 필수로 여겨지던 XML, Java, Kotlin 의존성을 제거
- AndroidX, Flexbox, Material Design 등 안드로이드 네이티브 구성요소를 포함
- SwiftUI와 유사한 선언형 문법을 제공해 UI 정의를 단순화
- JNI 계층을 완전히 숨기고, 고수준 API로 접근 가능
설계 목표와 특징
- Pure Swift 기반으로 UI, 매니페스트, 앱 구성 전반을 Swift로 작성함
- 선언형 UI를 채택해 가독성과 조합성을 중시
- XML을 전혀 사용하지 않는 No XML 개발 방식 유지
- 웹 기반 접근이나 코드 변환이 아닌 Native Android 실행 모델 채택
- UI, 매니페스트, Gradle 의존성을 한 곳에서 정의하는 통합 구조 제공
선언형 UI 구성 방식
- Swift 친화적인 API를 사용해 Android UI를 선언적으로 구성
- ConstraintLayout, VStack, TextView, MaterialButton 등 Android 위젯을 Swift 코드로 표현
- 레이아웃 제약, 클릭 이벤트, 스타일 설정을 코드에서 직접 정의
Swift로 작성하는 Android Manifest
- Android Manifest 자체를 Swift 코드로 선언
- 앱 아이콘, 테마, 액티비티, 프래그먼트 설정을 코드 레벨에서 관리
- 라이프사이클 이벤트 처리와 설정 로직을 하나의 Swift 파일에서 통합
문서와 개발 환경
- 공식 문서가 제공되며 지속적으로 확장 중
- Android 전체 기능이 모두 문서화되지는 않았지만, 기존 가이드는 정제된 형태로 제공됨
- Swift Stream IDE를 통해 즉시 개발 시작 가능
지원 범위
- Classic Android 위젯 지원
- AndroidX 라이브러리 지원
- Material Design 컴포넌트 지원
- Flexbox 레이아웃 지원
프로젝트 상태
- 프로젝트는 활발히 개발 중이며 빠르게 진화하고 있음
- API는 확장 가능성을 열어두고 개선 중이지만 핵심 비전은 유지됨
- 피드백과 참여를 적극적으로 권장