The summary.
SWIFT AND KOTLIN BOTH ELIMINATE THE COMMONEST RUNTIME CRASH
By making absence explicit in the type system, checked at compile time.
Swift uses reference counting rather than garbage collection, which means watching for reference cycles.
BOTH PLATFORMS MOVED TO DECLARATIVE INTERFACE TOOLKITS
Describing what should appear for a given state, rather than manipulating views directly.
KOTLIN MULTIPLATFORM SHARES LOGIC, NOT INTERFACES
Which distinguishes it from frameworks rendering one interface everywhere. Each platform keeps a native feel.
A CROSS-PLATFORM FRAMEWORK RENDERING ITS OWN CONTROLS LOOKS IDENTICAL EVERYWHERE
That is a strength and a weakness: consistency, but not platform convention.
ASK WHETHER IT NEEDS TO BE AN APPLICATION AT ALL
Many applications are websites with an icon, and an installable web application costs the user no download from a store.
CHECK APPLICATION SIZE AND STARTUP ON A MODEST DEVICE
Download size is a real barrier on metered connections, and many users will simply not install.