There will always be some desktop applications which doesn't make a ton of sense (either logically or financially) to port them to the web.
For most other type of applications, we already have web equivalents (so coyly termed as "the lite version" in some cases).
Javascript may be the most awful language to write code in. But, if there are users (and a way to make money), you'll always find developers willing to write code in JS.
Javascript is actually a quite good language: it has a dynamic object model and real closures. It has its deficencies, of course (like scoping rules).
It's really bad if you prefer statically typed languages, though, because on the client side on the web you have no other choice for the moment. Probably in the future we will see language implementations that use js as a target language become more mature and widespread.
For most other type of applications, we already have web equivalents (so coyly termed as "the lite version" in some cases).
Javascript may be the most awful language to write code in. But, if there are users (and a way to make money), you'll always find developers willing to write code in JS.