개요
Skip은 Swift + SwiftUI 코드 하나로 iOS + Android 앱을 동시 개발하는 크로스플랫폼 네이티브 프레임워크. v1.7부터 완전 무료·오픈소스 전환. 핵심 엔진 skipstone도 GitHub 공개. Swift-to-Kotlin 트랜스파일 + Swift Android 네이티브 컴파일을 모두 지원하며, 가장 완전한 독립형 SwiftUI 구현체 제공.
- 공식 사이트: https://skip.dev (구 skip.tools)
- GitHub: https://github.com/skiptools
- 라이선스: 오픈소스 (v1.7+, 라이선스 키 완전 폐지)
- 출시: 2023, 2026년 무료 전환
핵심 컨셉
기존 크로스플랫폼 (Flutter, React Native):
독자적 렌더링 엔진 또는 브릿지
→ "네이티브 같은" 경험 (진짜 네이티브 ❌)
Skip:
Swift + SwiftUI → iOS 네이티브 (그대로)
→ Android 네이티브 (Kotlin/Jetpack Compose 변환)
→ 양쪽 모두 "진짜 네이티브" ✅
v1.7 무료·오픈소스 전환
변경 사항
이전:
✗ 유료 구독 필요
✗ 라이선스 키 필요
✗ 일정 수익 이하 개인만 무료
v1.7+:
✅ 라이선스 키·평가판·EULA 모두 폐지
✅ 누구나 무료 즉시 사용
✅ 핵심 엔진 skipstone 오픈소스
✅ 사이트도 오픈소스
전환 이유
1. 개발자 기대: Xcode·Android Studio 등 주요 IDE가 무료
2. 지속 가능성 우려: 유료 도구 회사 중단 시 앱 유지 어려움
3. 커뮤니티 독립성: 오픈소스면 커뮤니티가 유지 가능
4. 외부 투자 없이 독립 운영 → 대형 기업 통제 ❌
skipstone 엔진 (오픈소스)
| 기능 | 설명 |
|---|---|
| 프로젝트 생성·관리 | Skip 프로젝트 스캐폴딩 |
| Xcode·SwiftPM 플러그인 | 기존 도구 체인 통합 |
| iOS → Android 변환 | Swift/SwiftUI → Kotlin/Compose |
| 리소스 번들링 | 에셋·이미지·문자열 |
| JNI 브리지 | Swift ↔ JVM 연결 |
| 소스 트랜스파일 | Swift → Kotlin 변환 |
| 앱 패키징 | APK/AAB 빌드 |
| 프로젝트 내보내기 | Android Studio용 내보내기 |
vs 다른 크로스플랫폼
| 항목 | Skip | Flutter | React Native | KMP |
|---|---|---|---|---|
| 언어 | Swift | Dart | JavaScript | Kotlin |
| UI | SwiftUI | Widget | React | Compose |
| iOS 렌더링 | 네이티브 | Skia 엔진 | 네이티브 브릿지 | 네이티브 |
| Android 렌더링 | 네이티브 (Compose) | Skia 엔진 | 네이티브 브릿지 | 네이티브 |
| 진짜 네이티브 | ✅ 양쪽 | ❌ | △ | ✅ |
| 가격 | 무료 (v1.7+) | 무료 | 무료 | 무료 |
| iOS 개발자 친화 | 최고 ⭐ | 낮음 | 중간 | 중간 |
| 생태계 | Swift 패키지 | pub.dev | npm | Maven |
→ Skip의 niche: “iOS 개발자가 Android도 만들고 싶을 때”
사용법
설치
# Homebrew로 Skip 설치
brew install skiptools/skip/skip
# 프로젝트 생성
skip init MyApp
cd MyApp
# iOS 빌드 (Xcode)
open MyApp.xcodeproj
# Android 빌드
skip android build코드 예시 (SwiftUI = iOS + Android)
import SwiftUI
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack(spacing: 20) {
Text("카운트: \(count)")
.font(.largeTitle)
Button("증가") {
count += 1
}
.buttonStyle(.borderedProminent)
}
.padding()
}
}→ 이 코드가 iOS에서는 SwiftUI 그대로, Android에서는 Jetpack Compose로 변환
왜 지금 중요한가?
Liquid Glass + Material Expressive 시대
2025~2026 UI 변화:
iOS: Liquid Glass (투명·유리 효과)
Android: Material Expressive (감성 디자인)
기존 크로스플랫폼 한계:
Flutter·RN 등이 플랫폼 고유 UI 변화에 늦게 대응
→ 통합 코드의 타협 → 낡은 인터페이스
Skip:
양쪽 네이티브 UI 그대로 사용
→ SwiftUI(iOS) + Compose(Android)
→ 플랫폼 UI 변화에 자동 적응
대상 사용자
| 적합 | 부적합 |
|---|---|
| iOS 개발자 (Swift/SwiftUI 숙련) | 웹 개발자 (JS/TS 선호) |
| 1인 개발자 (두 플랫폼 동시) | Android 우선 팀 |
| iOS 앱을 Android로 확장 | 게임 개발 |
| 소규모 팀 | Flutter·RN에 이미 투자한 팀 |
후원 모델
유료 → 오픈소스 전환 후:
- 기존 구독자 → 자동 스폰서십 전환
- 개인: GitHub Sponsors 월 후원
- 기업: 스폰서십 프로그램
- 외부 투자 없이 독립 운영 유지
의의
1. "타협 없는 크로스플랫폼"
- 두 플랫폼 모두 진짜 네이티브
- UI 엔진 공유 ❌ → 각 플랫폼 네이티브 UI ✅
2. Swift 생태계 확장
- Swift가 iOS 전용 → iOS+Android 언어로
- Swift Android SDK 공식화
3. 유료 → 완전 오픈소스 전환
- 개발 도구의 지속 가능성 보장
- 커뮤니티 독립성
4. iOS 개발자의 Android 진입장벽 제거