Or maybe j2Objc
One codebase for both platforms is not necessarily what you want though.
Let me rephrase, it might be what you want for a pretty small app : if you have to create an app for a restaurant with orders and menu, a cross platform solution is probably the best use of your time.
For anything bigger, it becomes a harder sell. All these solutions tend to have the same downsides :
- limited access to new platform features. Especially damaging when Apple tells you that you are going to get featured if you do a Watch app but your SDK does not support that yet.
- one design does not scale well to two platforms with different UX and features.
- one more layer of abstraction to manage; making maintainability harder
I think that there is clearly a space for a cross platform business logic framework though. It tends to be the same on both platform with minor differences. It is a pity that only j2objc seems to clearly target this. k2objc/swift would be awesome.
Kotlin right now is a serious competitor for a full stack, any device language. An alternative may be F# which has Fable for Browser, Xamarin (mobile) and .net core for server. But Kotlin looks more integrated to me.
Coming from a C#/F# background, Kotlin is really a joy to use.
https://blog.jetbrains.com/kotlin/2017/11/kotlinconf-keynote...