
Meanwhile, Swift is developed by Apple specifically for iOS, macOS and tvOS development. While Kotlin is officially endorsed and preferred by Android team, it's still developed by another entity, JetBrain. When it comes to Swift, the case is even stronger. Kotlin is first-class language supported by Android, and officially preferred by Android rather than Java ( ref) even if Kotlin adds a little bit overhead ( ref) It is my suggestion that the we switch the default to Swift and Kotlin respectively instead. Switching the default obviously is not a loss of functionality: users can continue to create Objective-C and Java-based projects with the same switches as before.Īt the moment, flutter create -template=plugin ( ref) defaults to Objective C and Java. Now seems a good time to switch the default for flutter create to Swift and Kotlin, since we have feature parity between the two project types and these seem the de facto standards for new apps. Similarly, Kotlin seems to be the preference of the Android team moving forward, and has significant advantages over Java as a productive, modern programming language. Looking at XCode, the default language for new applications is already Swift: While all four languages are supported by flutter create with the -i and -a switches, the default has not changed. In the intervening time, both communities have adopted a new language (Swift and Kotlin, respectively). This probably made sense when we wrote this tool: since both of these two languages predominated their respective ecosystems. On creating a new project with Flutter, flutter create defaults to creating apps in Objective-C (iOS) and Java (Android) today.
