Skip

Skip

Cross-platform mobile app development without compromises

Skip brings Swift app development to Android. It is a tool that enables developers to use a single modern programming language (Swift) and first-class development environment (Xcode) to build genuinely native apps for both iOS and Android.Skip is a tool that transpiles your SwiftUI iOS app into a Kotlin Jetpack Compose app, and enables you to use a single language to create a complete app that reaches the entire mobile marketplace.

What it is: Skip stands in contrast to other cross-platform development tools like Flutter, React Native, and Xamarin, in that it enables the creation of genuinely native applications for both of the dominant mobile platforms. It doesn't embed a separate engine or runtime into your app, but instead lets you use pure Swift and SwiftUI to create the iOS side of the app (as per Apple's recommended best practices for creating iOS apps), and transpiles it into a pure Kotlin and Jetpack Compose app for the Android side (which is Google's recommendation for building Android apps). So your application will use platform-native controls and will automatically have all the affordances provided by the platform vendor: animations, accessibility, and future-proof evolution alongside OS updates.

How it works: you build a Skip app using the same tools that you use to create a standard iOS app: Xcode, Swift, and SwiftUI. Skip augments this workflow with a Swift Package Manager plugin called "skipstone", which transpiles your Swift into Kotlin each time you build your app, and launches the Android app side-by-side with the iOS app each time you run the app. The transpilation works not just on your primary app module, but also transitively processes all your dependent SwiftPM modules, so you can break complex projects down into individually testable sub-modules containing business logic or UI code. In fact, this is how our own adaptor modules for the standard frameworks are structured: SkipFoundation adapts the Foundation framework and SkipUI adapts the SwiftUI framework, so the same familiar API can be used when building the app. And there's a GitHub ecosystem of open-source modules supporting popular frameworks, including SQLite, Firebase, Lottie, and many other common building blocks of modern apps.

Over the past year Skip has evolved into a fully-capable solution for creating best-in-class apps for both iOS and Android. And today we are delighted to announce the release of version 1.0, meaning that it is ready for production use.

We have a wealth of videos and documentation available at https://skip.tools, and I'll be around to field any questions that any of you might have. Thanks in advance for taking a look!Hey @mwp this looks amazing. I'm a cross platform developer myself. I use a different stack, but I know the pain of developing for iOS, Android and the Web at the same time 😅

How is Skip handling Android specific things like the back button, side-nav, asset generation and so on?

Congrats on the launch 🚀@crebuh Thanks for the positive words! For Android-specific navigation, the standard SwiftUI navigation gets converted to use the Compose Navigation (https://developer.android.com/de...), which follows standard navigation idioms on Android. You can read more at https://skip.tools/docs/modules/....

For asset generation, we use the SwiftPM Resources/ method to embed images, localization, etc. At transpilation time, these are converted into Java resources, which the Skip runtime libraries will look for when it is time to use this. Then is discussed at https://skip.tools/docs/resource....

Please let us know if you have any more questions, either here, or on our Slack channel (https://skip.tools/slack/) or community discussion forums (https://community.skip.tools).congrats on your launch 🚀

I’m really impressed by the concept! While frameworks like Flutter and React Native offer cross-platform solutions, as a developer, I’ve never felt they were perfect. Skip’s approach of achieving cross-platform development with native languages feels like a well-balanced and innovative solution.This is a must try for me. I have loved the swift language for long time now. I can wait to see how the experience with Skip brings an Android feel to it.

Congrats on the launch

Recent Publications