WWDC 14 was interesting in that some features already in Android are now available on iOS. At first sight it seems this will make it easier to make essentially the same app on both platforms. However, is this true?
While the programming features are being levelled out across the platforms, some services (and their APIs) are actually diverging. As Benedict Evans observes…
"That is, as the core features are built out and commoditised, the changes are coming more and more in ways that reflect the very different characters of Apple and Google."
"One effect of this is that it might get harder to make essentially the same app on both platforms. If a core, valuable thing you can do on one platform has no analogue at all on the other, what do you do? Ignore the stuff that isn’t on both, and get a lowest common denominator product?"
My instinct tells me that will happen. For apps that need to have both an Android and iOS version, it’s less likely designers/developers will include features that are in one platform but not in the other. So things like Apple’s Metal and CloudKit are less likely to be used.
What about Swift? Swift makes development easier on iOS. Do (existing) Apple developers really need this? Probably not. They are probably more concerned about being able to use pre-existing code, the availability of code samples, existing documentation/forums and for some developers, cross platform. As an aside, some developers do some convoluted things to achieve cross platform code. Swift is more about making development easier. Easy might entice new developers in, encouraging them to stay in the Apple World, in the same way as for end user consumers.
UPDATE: VisionMobile has similar thoughts.