Javascript is not really client-side or server-side. All you need is some kind of host that provides objects for an embedded javascript interpreter to access. A web browser is the most common javascript host around because that's what it was created for, but, AFAIK, there's nothing in the Javascript / ECMAScript specs that specifically define it as client or server side, so you could add it to a web server, or you could put a javascript interpreter inside a Office Suite to allow Macro functionality. Conversely, if you put a PHP or Perl interpreter inside a browser, you have client-side PHP or Perl. (Perl can run inside IE with ActiveState's distro, but I don't know if this has been done with PHP yet)