For good or ill, the debate is becoming moot as mobile takes over. The future of “client-side” Java is most likely on Android. What remains on the desktop will either be in the browser or split among increasingly irrelevant technologies like Swing, .NET, and Flash. The degree to which Sun/Oracle has screwed up Swing at this point is truly epic.
On mobile, the situation is very different. I just don’t see Flash going anywhere in that area today. Flash on mobile kind of feels like JavaFX on the desktop – people talk about it, but no one uses it. The big battle between Apple and Adobe last year – does anyone remember it today? Does anyone miss Flash on mobile devices? I have been using Android for the past six months, and not once did I miss Flash. Just once, I accessed a news page with embedded Flash video.
With iOS being the dominant platform, most content providers adapted by producing either a native app or a Web app (HTML). There is a huge benefit to creating a Web app. You create one app and cover all the platforms: iOS, Android, BlackBerry, Windows Phone 7, and webOS. BlackBerry is saying their devices support (or will support) Flash, but it’s probably just a gesture to show that they are different from iOS as they continue losing the battle against iOS and Android.
With a large number of smartphones and tablets coming out this year, it will be interesting to see how this develops. Perhaps an update in January 2012.