Thought-provoking post from Joel Spolsky on web client APIs. He says that whoever has the best AJAX library will be the next Microsoft.
Spolsky dismisses “the p-code/Java model” (which would include Flash and Silverlight 1.1 as well as Java applets):
Sandboxes are penalty boxes; they’re slow and they suck, which is why Java Applets are dead, dead, dead. To build a sandbox you pretty much doom yourself to running at 1/10th the speed of the underlying platform, and you doom yourself to never supporting any of the cool features that show up on one of the platforms but not the others.
I don’t follow his logic here. First, “sandboxes” may be slow compared to true native code, but they are faster than any browser-hosted Javascript, at least until Tamarin comes along. Second, AJAX apps are generally as much or more hobbled than plug-in applets.
I’m not dismissing the idea of compiling to Javascript though. There are interesting projects that do this already. In addition, Spolsky seems to be thinking along the same lines as Microsoft’s Eric Meijer, who told me about the misleadingly-named “LINQ 2.0”. But I think plug-in based apps will be important as well, both as entire applications and as rich components within AJAX apps.
Personally I hope there will not be a “new Microsoft.” I’d like to see diversity based on web standards.
It’s an interesting chess game. More on my blog:
http://smoothspan.wordpress.com/2007/09/20/flexflash-solve-a-lot-of-problems-they-may-be-disintermediating-the-browser/