After three years of development, the team behind Skip, a solution designed to create iOS and Android apps from a single Swift/SwiftUI codebase, has announced their decision to make the product completely and open source, in order to foster adoption and community contribution.
Prior to this announcement, Skip was a paid solution requiring a subscription and a license key to create apps, unless you were an indie developer or building free apps. This model, Skip explains, helped bootstrap the product without outside investment, but "the plain truth is that developers expect to get their tools free of charge". With the recent decision to go open source, Skip now aligns with the major development tools for both iOS and Android, including Xcode, Android Studio, popular frameworks, and other essential tools, which are all available for free.
But it's not just a matter of cost, Skip says, that drove their decision:
Beyond pricing, there’s a deeper concern about durability. Developers are understandably wary of building their entire app strategy on a small company’s paid, closed-source tool. What if the company goes under? Gets acquired and shut down? What happens to their apps?
In a nutshell that's the reason why Skip is going open source: even if the current development team were to disappear, the solution would continue to exist, preserving the investment developers have made in it.
According to the Skip team, the rapid evolution of UI frameworks on both Android and iOS, with Material Expressive and Liquid Glass, has created a situation where using legacy cross-platform UI frameworks can lead to "dated interfaces, weaker user experiences, and real competitive disadvantages". By contrast, Skip enables fully native user experiences on both platforms.
In fact, the Skip framework brings SwiftUI to Android by bridging it to Jetpack Compose. This approach allows iOS developers to write both their app's business logic and UI in the same codebase, with minimal additional effort.
Several early adopters of Skip, back when it was still a closed-source, paid product, shared their experience on Reddit on Reddit. Redditor jestecs noted that "It is quite good there are some gotchyas here and there but overall it’s been surprisingly pleasant to work with". Additionally, JEHonYakuSha elaborated more:
There are some issues where certain deprecated constructors are not supported so you may be used to an older way to defining your view modifiers or components, but once you get used to being a little creative and confirming what is supported, it is very good.
JEHonYakuSha also noted that you can mix Kotlin code snippets into your Swift codebase using // SKIP INSERT and that only the Swift Package Manager is supported on the iOS side, which can make managing internal dependencies somewhat tricky.
One important caveat from Skip's documentation is that the framework is best suited for new projects or apps with few external dependencies:
Migrating an existing app to Skip is not trivial. Most apps contain many iOS-only dependencies that make an Android port challenging.
Skip started three years ago as a Swift-to-Kotlin transpiler and later added support for the most widely used SwiftUI APIs on Android. During this time, the established the Swift Android Workgroup and released the Swift Android SDK, enabling natively compiling Swift code on Android. Today, Skip supports many popular integration frameworks, interoperates with thousands of cross-platform Swift packages, and offers a comprehensive SwiftUI implementation, according to the team.
An open-source alternative providing a SwiftUI-like API for UI across macOS, Linux, Windows, and some nascent support for Android is SwiftCrossUI.
Skip can be cloned on GitHub while all documentation, blog, and case studies have moved to skip.dev.