What is SDK development? – Part 2 (Select language)

Select Language

To select SDK language is one of annoying, no one of important as Technical Lead.

To be honest, now I don’t have best answer of this problem.

I recommend to use new language basically, but iOS has tough situation, I think

Language List

This is the list of our team Mobile SDK. (Sorry, this is just our team SDK name, I don’t explain details about them

Reward SDKAndroidJavaJava, Kotlin
Advertisement SDKAndroidKotlin
Reward SDKiOSSwiftSwift
Advertisement SDKiOSObjective-C

Our team supports 2 types of Mobile SDK.

This project starts from 2016, In this time, Android supports Java and Python.

iOS supports Objective-C and Swift.

At that time, Swift becomes more popular to create apps. But not popular in SDK world. When I started to develop SDK, I think Apple will close Objective-C near future (2019, still alive)

Android was very simple. Java is only choice. I don’t have any difficult decision in 2016.

2019, Kotlin becomes gradually popular in Android development world. Can write mix but need both compiler Java and Kotlin. Kotlin is very simple to write. Our team gradually move to Kotlin. Of course, we will care API usage (How to call Kotlin from Java) -> It’s simple.

iOS : Swift vs Objective-C

Almost all Advertisement SDK is by Objective-C.

Unity and other famous SDK(especially Advertisement) is by Objective-C. I understand this situation.

The reason almost all Mobile SDK does not choose Swift

  • Swift supports only Dynamic Framework
  • For Objective-C application, import Swift library is not easy
  • Every time, swift version is new, build SDK again(No version compatibility -> 2019 ver 5.0 above has compatibility)
  • Popular Mobile SDK choose Objective-C

Swift is only Dynamic Framework support. Objective-C supports Static Framework.

It’s not big problem, but some people don’t know framework setting.

One of our SDK is Swift. When we provide this, first several month’s my work is

Teach how to import Swift Framework in Objective-C app. Many customers asked us how to do it (even if we prepare documentation)

I’m not support engineer. Of course, it’s my pleasure that customer said “Thank you for supporting”.

Android : Java and Kotlin

Kotlin is very simple like swift. Null safe, short description. And Kotlin is based on Java Runtime env. Android

Of course, for Pure Java Application, adding kotlin compiler is strange, but it’s better situation compare to iOS.

Android iOS
Professional Programmer2