Remember Sun’s vision for Java: client-side applets, downloaded on the fly, running in/alongside the browser? It was a great vision, but Microsoft moved to block browser adoption and Sun botched it. After nearly 15 years, client-side Java never really hit critical mass.
Instead, the original vision has quietly been realized by Adobe Flash.
What happened? Video.
Site operators (notably, Youtube in 2005) discovered Flash was the best way to get in-browser video. The growth of Internet video cemented Flash’s position as a ubiquitous browser-plug in. Then, Adobe started adding Java-like features, notably ActionScript 3, a fairly efficient virtual machine, and a decent set of libraries.
Most of my developer friends reject Flash as “an animation system, with a crappy scripting language“. They were probably right 3-4 years ago, but not any more. With the latest Flash players, Adobe’s moved away from the animation-centric design to much more a generalized, programmatic system (that happens to have great animation support).
Just like Java, except with >98% market adoption.
What will make this even more interesting is if the VM for Flash starts running reliably on more mobile platforms. That could be game-changing too.
As a developer, it would be nice to have some code that could run on several different platforms — not just a browser.
Yup, I agree. There are now credible rumors that Apple/Adobe are finally working on Flash for the iPhone, for example.
See: http://www.alleyinsider.com/2009/2/adobe-ceo-collaborating-with-apple-to-get-flash-on-the-iphone