How SCADE works

Why we built SCADE ?

In short, because mobile needed a new platform that wasn't a workaround, but an answer to people's question. We wanted a platform that combined a future-safe, high performant as well as highly productive language with a true native SDK and unprecedented developer and app runtime performance.

We wanted to use a high performance programming language that was future safe, and could be used for larger projects. Based on our experience, this needed to be a strongly typed language with the necessary features and support to build advanced apps. Also, it needed to be a language that programmers love to use.

We wanted a mobile SDK that wasn't a compromise, but a real and better alternative to building native applications with the native SDKs of Apple and Android. Current popular cross platform solutions are still lacking in their support of native features due to their architecture approach.

We want to provide a developer platform and tooling that developers can thrive in. This included a native, open source macOS Swift IDE as well as new approaches of how mobile apps are developed.

SCADE in a nutshell

Mobile developers use SCADE to build native, high performance apps by compiling Swift code into native Android and iOS binaries. The SCADE platform provides the following major components

  • Swift Compiler for Android - Stable, mature Swift compiler for Android. Currently supports Swift 5.4
  • Crystal - a cross platform, high performance graphics engine for beautiful native UIs
  • Nimble - an open source, high performance, macOS native IDE for building apps quickly
  • Fusion - an open source, native cross platform SDK to fast and native app development

Swift Compiler for Android

Our Swift compiler takes Swift 5.4 source code and compiles this into native binary image for the Android platform. Both x86 and ARM are supported on both 32bit and 64bit platforms

Crystal - High Performance Graphics Engine

A powerful graphics engine was our main design concern when developing SCADE. Crystal combines the use of vector graphics with OS - native UIs, providing a cross platform engine that exhibits the UI specific UI control behaviour, i.e. drag and drop IS native, but you combine this with the advantages of a graphics vector engine.

Crystal provides cross platform access to the native controls (Text fields, keyboard, map, camera...) and allows using these control through one code base. The functionality is exposed through one unified API.

Nimble - Powerful, macOS native Swift IDE

Nimble is our open-source IDE developed for SCADE, but open to the Apple developer community. Its sleek, modern architecture without legacy makes it extremely fast, while maintaining a small memory footprint and quick startup times.

Fusion - Cross Platform SDK for native mobile development

Fusion is our cross platform SDK that allows you to easily invoke the same mobile OS functionality with the same source code. It provides a set of APIs that abstract from the Android and iOS API and provide the functionality such as push notification, geolocations, bluetooth and more in an easy to use package. Find more details here

SCADE for the iOS developer

From an iOS developers perspective, the learning curve for SCADE is relatively low and the developer is able to reuse most of his knowledge and code when using SCADE.

Component

Support

Swift

Yes. Swift 5.x on both Android and iOS

Swift Foundation

Yes. Works on both Android and iOS

Swift Dispatch

Yes. Works on both Android and iOS

iOS frameworks - kit support

Yes. Each and every kit works on iOS. Your SCADE iOS app is never constrained and can use the full iOS SDK, ie. Uikit, PassKit ... without limitations.

Swift Libraries

Yes. All your favourite libraries that use pure Swift and Swift Foundation and Switch Dispatch work on iOS and Android. Most of your favourite libraries just work, i.e. SwiftData, SwiftMoment, SQLite, FileKit,....

SwiftUI

not yet.

SPM

Yes. Works nicely.

SCADE for the Android developer

The value proposition for the Android developer is two fold

  • Develop native Android apps faster while having direct access to the entire Android SDK/NDK
  • Use a native cross platform to also build iOS apps

Component

Support

Android SDK

Yes. Call any Android SDK function from Swift with ease.