Android and Apple Platforms
Developers familiar with iOS and other Apple platforms use a number of different tools and technologies, such as Swift, Xcode, and SwiftPM. When beginning to work with the Android platform, much of the terminology around Android development may seem alien at first. But in general, each component of iOS development has an analogue in the world of Android development.
Skip handles translating some of these elements between Apple platforms and Android. This table outlines the various Apple-specific terms and maps them to their equivalent Android term, as well as highlighting whether Skip helps in the translation process.
Platform | Apple | [Skip] | Android |
---|---|---|---|
Language (modern) | Swift1 | → | Kotlin2 |
Language (legacy) | Objective-C3 | Java4 | |
UI Framework (modern) | SwiftUI5 | → | Jetpack Compose6 |
UI Framework (legacy) | UIKit7 | Android Views8 | |
Build Tool | SwiftPM9 | → | Gradle10 |
IDE | Xcode11 | Android Studio12 | |
Debugger | lldb13 | adb14 | |
Unit Testing | XCTest15 | → | JUnit16 |
UI Testing | XCUITest17 | Espresso18 | |
Local Testing | macOS19 | → | JVM w/ Robolectric20 |
Local App Runner | iOS Simulator21 | → | Android Emulator22 |
Design Language | HIG23 | Material Design24 |
-
Swift: https://www.swift.org ↩
-
Kotlin: https://kotlinlang.org ↩
-
Objective-C: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html ↩
-
Java: https://www.java.com/en/download/help/whatis_java.html ↩
-
Jetpack Compose: https://developer.android.com/develop/ui/compose ↩
-
Android Views: https://developer.android.com/develop/ui/views/layout/declaring-layout ↩
-
Swift Package Manager (SwiftPM): https://www.swift.org/documentation/package-manager/ ↩
-
Gradle: https://gradle.org ↩
-
Android Studio: https://developer.android.com/studio ↩
-
The LLDB Debugger: https://lldb.llvm.org ↩
-
Android Debug Bridge (adb): https://developer.android.com/tools/adb ↩
-
JUnit: https://junit.org/junit4/ ↩
-
User Interface Tests (XCUITest): https://developer.apple.com/documentation/xctest/user_interface_tests ↩
-
Espresso: https://developer.android.com/training/testing/espresso/ ↩
-
Cross-platform testing: https://developer.apple.com/documentation/xcode/creating-a-standalone-swift-package-with-xcode#Make-your-Swift-package-cross-platform-compatible ↩
-
Robolectric: https://robolectric.org ↩
-
iOS Simulator: https://developer.apple.com/documentation/xcode/running-your-app-in-simulator-or-on-a-device/ ↩
-
Android Emulator: https://developer.android.com/studio/run/emulator ↩
-
HIG: https://developer.apple.com/design/human-interface-guidelines/ ↩
-
Material Design: https://m3.material.io/develop/android/jetpack-compose ↩