• Print

JSAN, the JavaScript Archive Network

It seems every Perl hacker I spend any more than five minutes with these days is neck deep in JavaScript. Pal David Wheeler has been bending my ear about his port of Perl’s Test::Harness to a JS Test.Simple for some weeks now. Michael Schwern on a recent visit toted not a small number of pounds of JavaScript tomes about with him. I’m not quite sure what the tie is, quite frankly. It’s not simply that JavaScript is on the rise in general amongst scripters and non: there’s something about innate messiness, ubiquity, and hidden powers that just appeals to those who use Perl;

Now comes JSAN, the JavaScript Archive Network, describing itself as a “comprehensive resource for Open Source JavaScript libraries and software” or “CPAN”.replace(/CP/, “JS”). As the name suggests, it is driven by a band of Perlites, led by Casey West.

As we suspected and found in building our CodeZoo site–of Java components, in our case–simply knowing that someone has written something that’ll make your coding life that much easier is a trick in itself. And a valuable one at that.

The most interesting find in the archive thus far has to be JSAN library itself, allowing scripters to import rather than <script src="... other libraries:

 // Or in a library.
  try {
      JSAN.use('Some.Library');
  } catch (e) {
      alert("Requires JSAN");
  }

Congrats to Casey et al. I look forward to watching and using JSAN as it grows.

  • http://www.davidflanagan.com David Flanagan

    One of the great things about Casey’s JSAN library is the guidance it gives to module authors about how to strurcture the modules, how to place them in namespaces, and how to declare a list of the symbols that the module may export.

    Casey’s conventions are tied to his use() function, however, and are not general enough for modules designed to be imported with static <script> tags…

    I’m seeking ideas about JavaScript modules, namespaces and imports over at my blog:
    http://www.davidflanagan.com/blog/2005_07.html#000069

  • http://ali.as/ Adam K

    Luckily, most of the current issues relating to JSAN.use are temporary, and there’s a number of alternative ways of loading modules on the way already.

    Loading modules with static tags was solved about 2 hours ago, for example :)

  • http://www.pobox.com/~schwern/ Michael G Schwern

    Its my fault.

    I was toting around all those JavaScript tomes because of a small web dev contract job that was a fine excuse to get paid to learn the last five years of web development which until now I had been studiously ignoring. I became horrified to discover that JavaScript had no
    include function. My usual mode when I encounter horrifying things about
    technology about which I have no understanding is to bitch to all the smart
    people around me and hope they’ll fix it.

    An include() for JavaScript

    JSAN: A HOWTO Guide

    It worked! :)

    I think the “attraction” to JavaScript is simply that if you want to do anything interesting on a web page its the only game in town. Its only now that its starting to be supported in something like a useable fashion. Couple that with a web browser we don’t completely hate (Firefox), somewhat useful development tools (Firefox Web Developer extension) and a major corporation pouring development time into a sensible framework (Google -> Ajax) and you finally have something you don’t immediately want to curse and spit on.

  • http://www.seo-professional.co.uk imran

    Hi

    Please can any one help me to manage a stick up footer on the website for IE 5.0 +. I Think its with CSS or Javascript r both.

    As you can see 1 on http://www.bmw.co.uk

    Any kind of help will be appericiated

    thanks

    Imran Hashmi
    http://www.visionstudio.co.uk