[...]
...David Mark's "My Library" and Garrett Smith's "APE
JavaScript library" are certainly helping in getting a feel for how an
experienced developer may apply those principles. so maybe my naive
attempts will eventually reach maturity.
Thanks for the mention. My Library was just a lark, but it only took
a week or so to turn it into a condender. It's the only JS library or
framework that allows for progressive enhancement and certainly the
only major one (in terms of scope, not marketing efforts) that is free
of browser sniffing. From recent testimg, it has been shown to
degrade gracefully in browsers that were released before the turn of
the century. It's quite capable on dinosaurs like IE5 and NN1. Less
so with Opera < 7, but then it degrades in a way that cues calling
apps to avoid hazards. Try that with jQuery or the like and you'll
see immediately why they "deprecate" all but the latest versions of
major browsers (it's all they have time to keep up with as they have
to keep changing their code due to past unfortunate inferences).
The ES end of it is fairly trivial as most browsers are using an old
and established standard. The DOM stuff was chaos for the first five
years of the past decade and then settled down (just in time for JS
library authors to come along and introduce their own misconceptions
and mixups). The My Library test page demonstrates this quite nicely
(with companion features showing how the libraries of each era managed
to foul everything up).
from searching previous discussion on this list i think it's clear none
of the "brand name" (e.g. Prototype, jQuery, Dojo etc.) scripts have
much of anything to offer? are there any other scripts worth studying or
are there things in the "brand name" scripts worth looking at?
The "brand name" scripts (AKA "major") are simply names from the
past. No, they don't have anything to offer. They wouldn't have been
acceptable in 2005 (around when most were conceived). It's been half
a decade of demonstrable futility since then.
[...]
perhaps i'm particularly masochistic but regardless of extinction
Netscape Navigator 2 (and other dinosaurs) is just the sort of
environment i'm interested in.
People ask me why I bother to test ancient Opera browsers, handhelds,
Mozilla, etc. It's because ancient browsers have degradation paths
too. Virtually any old browser is a good test and can expose flaws in
the feature detection that might adversely affect other browsers (e.g.
lesser browsers in mobile devices, gaming consoles, etc). The only
people who will tell you to test just in the latest (or modern)
browsers are people are hiding from the fact that their scripts are
bunk. If you can't support the past, what hope is there for the
future?
my interest is in determining if pages
can be made that work (and take advantage of) modern ECMAScript
implementations while not completely falling over (i.e. creating script
error windows) in even the oldest dynamic browsers.
You bet. My Library is a clinic on that.
[...]
my tests with Netscape Navigator 2.0.2 seem to confirm your assertion
regarding `Number.prototype.toString()`.
In reality, NS2 (and IE3) are too old to be practical tests. NN4 is
pretty screwy too. But there's no excuse for a Website that blows up
in IE5.5 or Opera 7. The currently popular libraries (which are only
popular among people who have no idea what they are doing) are lucky
to support IE8 by itself (most can't). For years, jQuery blew up in
IE when ActiveX was disabled (despite the public outcry). To this
day, jQuery is compeletely oblivious to quirks and compatibility
modes. I know it sounds crazy, but the people who "design" Websites
don't test for shit. They want to "drop" IE6/7 because they could
never really do their jobs with them in use. Yes, these are the same
people who "argue" endlessly that they are dealing with "Real World"
issues (where nobody uses IE ever I guess).
Yes, Operas "Portal" throws several errors in Opera 6, which is pretty
ludicrous considering they wrote both the browser and the
documents.
as soon as i got your message pointing to the evolt browser archive the
next thing i did was download Netscape Navigator 2.0.2. except in my
case (a Windows XP virtual machine in VMWare) the default homepage
actually crashed the browser;
That can happen too. Modularity helps as it allows removing a piece
at a time until the crash goes away.
it took a few tries to be fast enough to
hit the stop button before the crash.
LOL. The home page URI (and everything else) is in the Registry.
now that i have a blank homepage
it seems to be reliable enough for testing; although every single public
web page i've pointed it at since threw multiple script errors or worse
(e.g. <
http://gmail.com/>).
Doubled-over LOL. Gmail? If My Library can be considered a good
example of cross-browser scripting (call it an 8 at this point), GMail
is a colossal embarassment to anyone who ever worked on it (I can't
imagine anyone would admit to it). Call it minus about a million.
And no, I'm not exaggerating for effect. That site is the poster
child for browser scripting futility, with only other Google apps in
serious competition. So I suggest you test something other than
Google-authored sites.
Here's one I use as a yardstick for older (but not too ancient)
browsers:-
http://www.hartkelaw.net/
As mentioned, the My Library builder and test page are also useful for
this.