{"id":13468149,"url":"https://github.com/skiptools/skip","last_synced_at":"2026-06-15T02:01:04.489Z","repository":{"id":81517223,"uuid":"606220217","full_name":"skiptools/skip","owner":"skiptools","description":"Skip enables the creation of native SwiftUI apps for iOS and Android","archived":false,"fork":false,"pushed_at":"2026-06-14T16:26:02.000Z","size":9307,"stargazers_count":3089,"open_issues_count":128,"forks_count":102,"subscribers_count":34,"default_branch":"main","last_synced_at":"2026-06-14T18:05:53.745Z","etag":null,"topics":["android","ios","swift"],"latest_commit_sha":null,"homepage":"https://skip.dev","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skiptools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.TXT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://skip.dev/sponsor"]}},"created_at":"2023-02-24T21:55:33.000Z","updated_at":"2026-06-14T16:26:06.000Z","dependencies_parsed_at":"2023-10-03T00:56:40.568Z","dependency_job_id":"60a62028-1a0c-47e1-aa19-8e8eeeb22f1e","html_url":"https://github.com/skiptools/skip","commit_stats":{"total_commits":1155,"total_committers":2,"mean_commits":577.5,"dds":0.09350649350649354,"last_synced_commit":"e3bf41ec424beb2940283f40bad6e4c3015f9766"},"previous_names":[],"tags_count":811,"template":false,"template_full_name":null,"purl":"pkg:github/skiptools/skip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skiptools","download_url":"https://codeload.github.com/skiptools/skip/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34344440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","ios","swift"],"created_at":"2024-07-31T15:01:06.246Z","updated_at":"2026-06-15T02:01:04.446Z","avatar_url":"https://github.com/skiptools.png","language":"Swift","funding_links":["https://skip.dev/sponsor"],"categories":["Swift"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://skip.dev\"\u003e\n    \u003cimg src=\"https://assets.skip.dev/images/skipicon.svg\" alt=\"Skip\" height=\"80\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eOne Swift Codebase. Two Native Platforms.\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  Write your app in Swift and SwiftUI. Skip compiles it natively for iOS and produces real Jetpack Compose for Android.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/skiptools/skip/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/skiptools/skip/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/skiptools/skip/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/skiptools/skip?label=version\" alt=\"Latest Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://skip.dev/slack\"\u003e\u003cimg src=\"https://img.shields.io/badge/slack-chat-informational.svg?label=Slack\u0026logo=slack\" alt=\"Slack\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://forums.skip.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/forums-discuss-informational.svg?label=Forums\u0026logo=discourse\" alt=\"Forums\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://skip.dev/docs/gettingstarted/\"\u003eGetting Started\u003c/a\u003e · \u003ca href=\"https://skip.dev/docs/\"\u003eDocumentation\u003c/a\u003e · \u003ca href=\"https://skip.dev/blog/\"\u003eBlog\u003c/a\u003e · \u003ca href=\"https://github.com/skiptools/skip/issues\"\u003eIssues\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://assets.skip.dev/screens/swift-sdk-for-android-in-action-showcase.png\"\u003e\n    \u003cimg src=\"https://assets.skip.dev/screens/swift-sdk-for-android-in-action-showcase.png\" alt=\"Skip Showcase running on iOS and Android\" width=\"900\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## What is Skip?\n\nSkip is a free, open-source tool for building native iOS and Android apps from a single Swift codebase. You write your app in Swift and SwiftUI, and Skip produces real Jetpack Compose for Android. Both sides are genuinely native: SwiftUI on iOS, Jetpack Compose on Android. No web views, no custom rendering engine, and no additional runtime.\n\nSkip supports two development modes:\n\n- **Skip Fuse** compiles your Swift natively for Android using the [official Swift SDK for Android](https://www.swift.org/blog/swift-6.3-released/#android). You get the full Swift language, standard library, and Foundation on both platforms, with bridging to call Kotlin and Java APIs when needed.\n\n- **Skip Lite** transpiles your Swift source code to Kotlin, maximizing interoperability with existing Kotlin and Java libraries and the Android ecosystem.\n\nBoth modes map SwiftUI to Jetpack Compose using the [SkipUI](https://github.com/skiptools/skip-ui) compatibility framework, so your UI is native on each platform.\n\n### Why Skip?\n\n- **No new language to learn.** If you know Swift and SwiftUI, you already know how to build for Android with Skip. Other cross-platform tools ask you to write JavaScript, Dart, or Kotlin. Skip lets you keep writing Swift.\n\n- **Truly native on both platforms.** Skip produces real SwiftUI on iOS and real Jetpack Compose on Android. Users get the native look, feel, and performance they expect.\n\n- **Full ecosystem access.** Skip apps can use Swift packages on both platforms, and can call Kotlin/Java APIs directly on Android. Over 2,200 Swift packages already build for Android, as tracked at the [Swift Package Index](https://swiftpackageindex.com/search?query=platform%3Aandroid).\n\n- **No lock-in.** Skip builds on the officially supported Swift SDK for Android. Your Swift code, packages, and skills work on Android with or without Skip.\n\n- **Free and open source.** Skip is complete free and developed independently from any parent corporation, funded by [your sponsorship](https://skip.dev/sponsor/).\n\n### Skip versus {Flutter/React Native/Compose Multiplatform/MAUI/etc.}\n\nChoosing a technology to help you build an app for iOS and Android from a single codebase can be a make-or-break decision. Everyone knows a bad app or a crummy port within moments of launching the app, and consumers are ruthless in deleting bloated, slow, or \"weird-feeling\" apps within moments.\n\nYou can read our own assessment of Skip's strengths at [skip.dev/compare/](https://skip.dev/compare/).\n\n## Quick Start\n\nInstall Skip with [Homebrew](https://brew.sh), verify your environment, and create your first project:\n\n```shell\nbrew tap skiptools/skip\nbrew install skip\nskip checkup\nskip create\n```\n\nYour project will be created and opened in Xcode. Run it against an iPhone simulator, and Skip will automatically build and launch the Android version on a running emulator at the same time.\n\nFor the full setup guide, see [Getting Started](https://skip.dev/docs/gettingstarted/).\n\n### Native Android Compilation (Skip Fuse)\n\nTo build apps that compile Swift natively for Android, install the Swift Android SDK:\n\n```shell\nskip android sdk install\n```\n\nThen create a native app project:\n\n```shell\nskip init --native-app --appid=com.example.myapp my-app MyApp\n```\n\nSee the [Fuse mode documentation](https://skip.dev/docs/modes/) for details on how native compilation and Kotlin bridging work.\n\n## Sample Apps\n\nSkip ships with several sample applications that demonstrate different features and patterns. All are open source and available in the [skiptools](https://github.com/skiptools) organization.\n\n### Skip Showcase\n\nA comprehensive catalog of SwiftUI components running side by side on iOS and Android. The best way to see how Skip maps SwiftUI to Jetpack Compose.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://play.google.com/store/apps/details?id=org.appfair.app.Showcase\"\u003e\u003cimg src=\"https://assets.skip.dev/badges/google-play-store.svg\" alt=\"Google Play Store\" height=\"50\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://apps.apple.com/us/app/skip-showcase/id6474885022\"\u003e\u003cimg src=\"https://assets.skip.dev/badges/apple-app-store.svg\" alt=\"Apple App Store\" height=\"50\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n- **Source:** [skipapp-showcase-fuse](https://github.com/skiptools/skipapp-showcase-fuse) (Fuse) · [skipapp-showcase](https://github.com/skiptools/skipapp-showcase) (Lite)\n\n### More Samples\n\n| App | Description | Mode |\n|-----|-------------|------|\n| [skipapp-hello](https://github.com/skiptools/skipapp-hello) | Minimal starter app with a tab view and list | Lite |\n| [skipapp-howdy](https://github.com/skiptools/skipapp-howdy) | Starter app for Skip Fuse | Fuse |\n| [skipapp-fireside](https://github.com/skiptools/skipapp-fireside) | Firebase integration demo | Lite |\n| [skipapp-fireside-fuse](https://github.com/skiptools/skipapp-fireside-fuse) | Firebase integration demo | Fuse |\n| [skipapp-bookings-fuse](https://github.com/skiptools/skipapp-bookings-fuse) | Travel bookings with maps and Compose views | Fuse |\n| [skipapp-weather](https://github.com/skiptools/skipapp-weather) | Weather app with async networking | Lite |\n| [skipapp-calculatrix](https://github.com/skiptools/skipapp-calculatrix) | Calculator with custom layout | Lite |\n| [skipapp-lottiedemo](https://github.com/skiptools/skipapp-lottiedemo) | Lottie animation playback | Lite |\n| [skipapp-travelposters-native](https://github.com/skiptools/skipapp-travelposters-native) | Shared Swift model with native UI on each platform | Fuse |\n\nBrowse all sample apps at [skip.dev/docs/samples](https://skip.dev/docs/samples/).\n\n## Framework Libraries\n\nSkip provides a suite of open-source libraries that implement standard Apple frameworks for Android, so your existing Swift code works across platforms.\n\n### Core Frameworks\n\n| Library | Description |\n|---------|-------------|\n| [skip-foundation](https://github.com/skiptools/skip-foundation) | Foundation APIs (URL, Data, Date, JSON, FileManager, etc.) |\n| [skip-model](https://github.com/skiptools/skip-model) | Observation and Combine (backed by Compose MutableState) |\n| [skip-ui](https://github.com/skiptools/skip-ui) | SwiftUI to Jetpack Compose |\n| [skip-fuse](https://github.com/skiptools/skip-fuse) | Fuse mode umbrella (OSLog, Observable, AnyDynamicObject) |\n| [skip-fuse-ui](https://github.com/skiptools/skip-fuse-ui) | Native SwiftUI on Android for Fuse mode |\n| [skip-bridge](https://github.com/skiptools/skip-bridge) | Bidirectional Swift-Kotlin interop |\n| [skip-lib](https://github.com/skiptools/skip-lib) | Swift standard library extensions |\n| [skip-unit](https://github.com/skiptools/skip-unit) | XCTest to JUnit mapping |\n\n### Integration Frameworks\n\n| Library | Description |\n|---------|-------------|\n| [skip-firebase](https://github.com/skiptools/skip-firebase) | Firebase (Auth, Firestore, Messaging, Analytics, etc.) |\n| [skip-sql](https://github.com/skiptools/skip-sql) | SQLite database access |\n| [skip-keychain](https://github.com/skiptools/skip-keychain) | Keychain / EncryptedSharedPreferences |\n| [skip-web](https://github.com/skiptools/skip-web) | WKWebView / android.webkit.WebView |\n| [skip-av](https://github.com/skiptools/skip-av) | AVKit / ExoPlayer |\n| [skip-device](https://github.com/skiptools/skip-device) | Network, Location, Sensors |\n| [skip-motion](https://github.com/skiptools/skip-motion) | Lottie animations |\n| [skip-ffi](https://github.com/skiptools/skip-ffi) | C/C++ interop via JNA |\n\nSee the full module documentation at [skip.dev/docs/modules](https://skip.dev/docs/modules/).\n\n## Architecture\n\nThe [skip](https://github.com/skiptools/skip) repository hosts the Skip SwiftPM build plugin, which integrates with Xcode and Swift Package Manager to drive the Android build alongside your normal iOS build. It works together with [skipstone](https://github.com/skiptools/skipstone), the binary that powers both the `skip` CLI and the plugin.\n\nFor more on how Skip projects are structured, see:\n\n- [Project Types](https://skip.dev/docs/project-types/) - App and library project structures\n- [Lite and Fuse Modes](https://skip.dev/docs/modes/) - Transpilation vs. native compilation\n- [CLI Reference](https://skip.dev/docs/skip-cli/) - Full command-line tool documentation\n\n## Documentation\n\n| Resource | Link |\n|----------|------|\n| Getting Started | [skip.dev/docs/gettingstarted](https://skip.dev/docs/gettingstarted/) |\n| Full Documentation | [skip.dev/docs](https://skip.dev/docs/) |\n| Blog | [skip.dev/blog](https://skip.dev/blog/) |\n| Module Reference | [skip.dev/docs/modules](https://skip.dev/docs/modules/) |\n| Sample Apps | [skip.dev/docs/samples](https://skip.dev/docs/samples/) |\n| Component Gallery | [skip.dev/docs/components](https://skip.dev/docs/components/) |\n| CLI Reference | [skip.dev/docs/skip-cli](https://skip.dev/docs/skip-cli/) |\n| Competitor analysis | [skip.dev/compare/](https://skip.dev/compare/) |\n\n## Community\n\n- **Forums:** [forums.skip.dev](https://forums.skip.dev) - Discussions, questions, and announcements\n- **Slack:** [skip.dev/slack](https://skip.dev/slack/) - Real-time chat with the Skip team and community\n- **Issues:** [github.com/skiptools/skip/issues](https://github.com/skiptools/skip/issues) - Bug reports and feature requests\n- **Mastodon:** [@skiptools@mas.to](https://mas.to/@skiptools)\n\n## License\n\nThis software is licensed under the \n[Mozilla Public License 2.0](https://www.mozilla.org/MPL/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskiptools%2Fskip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskiptools%2Fskip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskiptools%2Fskip/lists"}