Cross-platform Swift implementation of UIKit for Android
UIKit-cross-platform
Cross-platform Swift implementation of UIKit for Android.
Your Swift UI Code on Android
UIKit-cross-platform is a UI framework for native apps, which enables code targeting iOS UIKit to run on other platforms, particularly on Android.
Goal
Currently in mobile development apps have to be written twice, for iOS and Android, or native performance has to be sacrificed with a cross-platform solution such as React Native.
This framework aims to combine both advantages, having native performance and writing code only once but still keeping a native look & feel.
How to run your iOS Project on Android
- Create new iOS Project or open an existing one
- Prepare your iOS Project
- Add UIKit-cross-platform to your project
- Run
./UIKit/create-android-projectfrom the root of your iOS project - Open
./androidfolder in Android Studio (install Android SDKs if necessary) and press "run" button
Try out the demo
This project includes a DemoApp which runs on iOS, Android and Mac.
How to run it on different platforms:
- Clone this project,
cdinto it and rungit submodule update --init --recursive - Open
./samples/getting-started/DemoApp.xcodeprojin Xcode- Run
DemoApptarget for the iOS App - Run
DemoAppMactarget for the Mac App
- Run
- Open
./samples/getting-started/androidwith Android Studio (install Android SDKs if necessary) - Connect an Android device and press "Run" for the Android App
Additional setup instructions
Adding UIKit-cross-platform
UIKit-cross-platform has to be added as a dependency to your project including its subdependencies.
The recommended way is to use git submodules to add it to an UIKit subdirectory.
In order to do so use the following command:
git submodule add git@github.com:flowkey/UIKit-cross-platform.git UIKit && git submodule update --init --recursive UIKit
Android Studio Setup
- Install Android Studio
- Add SDKs in Android Studio
- Open Preferences in Android Studio
- Go to Appearance & Behavior -> System Settings -> Android SDK
- In SDK Platforms: apply checkboxes for API Levels 26 and 27
- In SDK Tools: apply checkboxes for CMake, NDK, LLDB, Android SDK Build Tools, Android SDK Platform Tools
- Press Apply / OK to install SDKs