Navigating the cross-platform maze: My journey with Skip

 

If you’re a developer working in cross-platform mobile development, you’ve likely struggled with finding the perfect balance between performance, native feel, and ease of use. In this blog post, I’ll take you through my experience with Skip, a cross-platform solution that lets you write your app in Swift and automatically transforms it into a Kotlin-based Android app. 

Whether you’re an experienced developer or just starting out with cross-platform frameworks, this guide will explore the pros and cons of using Skip and help you decide if it’s the right fit for your next mobile project.

The hunt for a better cross-platform tool

Finding the right cross-platform tool can feel like searching for a needle in a haystack. I’ve been on the lookout for a solution that simplifies background tasks without the typical headaches. While Flutter is a strong contender, managing isolates can be a hassle, like trying to herd cats. That’s when I stumbled onto Skip, a game-changer for Swift developers who want to extend their apps to Android without diving deep into Kotlin. Skip promises to take your Swift and SwiftUI code and seamlessly transform it into Kotlin—essentially giving you native apps for both iOS and Android from a single codebase. 

Why Skip stands out

Skip stands out in the crowded field of cross-platform development tools by offering a unique proposition: write everything in Swift and have it cross-compiled into native Android code. Unlike other frameworks, Skip provides direct access to native APIs on both platforms, so you’re not locked into a restrictive environment. It prioritises correct code over perfectly idiomatic Kotlin, which means the generated code might not be the prettiest, but it gets the job done—and sometimes, that’s what matters most in mobile development.

Under the hood: How it works

When you write your app in Swift, Skip handles the heavy lifting by transpiling Swift into Kotlin and compiling it into native code for Android. The iOS side remains in Swift, using Swift Package Manager for dependencies, which is a familiar setup for developers in the Apple ecosystem. What sets Skip apart is its approach to UI rendering: it maintains native UI components on both platforms, unlike Flutter, which relies on Skia. This results in much smaller deployment artefacts, along with a polished, native look and feel that enhances the user experience.

The good, the bad, and the bugs

The good
Skip simplifies code sharing between Swift and Kotlin, allowing you to write core logic, like user authentication, once and deploy it across both iOS and Android. Plus, if you decide to part ways with Skip, you’re left with an independent, fully native codebase.

The bad
However, there are some downsides. Xcode is the primary editor for Skip, and that’s not everyone’s favourite environment. The tool is still in its early stages, so the community is small, and the number of available libraries is limited. It’s also pricier than free alternatives like Flutter  at around $100 per developer, per month. However, they’ve just released a free layer for Indie developers which is worth checking out. 

The bugs
During my deep dive into Skip, I encountered some bandwidth issues that made screen sharing a bit of a challenge. More importantly, managing multiple SDKs with different architectures for iOS and Android can feel like putting together IKEA furniture without the manual—you’ll get there, but not without some frustration. Additionally, if your app relies on various SDKs, you’ll need to be prepared for some platform-specific tweaking.

Is Skip ready for prime time?

It depends. If you’re an iOS developer wanting to expand into Android without diving into Kotlin, Skip could be a fantastic option. It offers a familiar environment with the benefit of native performance on both platforms. However, for complex projects that demand a mature ecosystem and extensive library support, Flutter might still hold the upper hand.

I’m excited to keep experimenting with Skip on personal projects—it’s fun, flexible, and definitely worth watching as it evolves. For those of you venturing into cross-platform development or seeking a new approach, give Skip a try. It might just be the tool that simplifies your workflow 

Want to know more about how DiUS can help you?

Offices

Melbourne
Level 3, 31 Queen St Melbourne, Victoria, 3000

Phone: 03 9008 5400

Sydney
The Commons

32 York St Sydney,

New South Wales, 2000

DiUS wishes to acknowledge the Traditional Custodians of the lands on which we work and gather at both our Melbourne and Sydney offices. We pay respect to Elders past, present and emerging and celebrate the diversity of Aboriginal peoples and their ongoing cultures and connections to the lands and waters of Australia.

Subscribe to updates from DiUS

Sign up to receive the latest news, insights and event invites from DiUS straight into your inbox.

© 2024 DiUS®. All rights reserved.

Privacy  |  Terms