Matt said:
Popularity is often not a good indicator of quality. Especially in the world
of javascript.
Perhaps Prototype lacks in clarity, but if you follow closely the
project, the library had some changes since v.1.4.0... (with backward
compatibilities). Don't be so quick to discard something ; if so many
people use it, it's because it is stable in many browsers (even some
that I've never heard of) Of course, I had some exception thrown by
Prototype, and admit that it was my fault every time (*sig*) ... like
many libraries out there, some checks aren't made directly in the
library for speed purpose.
A good documentation of Prototype can be found here :
http://www.sergiopereira.com/articles/prototype.js.html (it only
convers v.1.4.0 though... the most recent version of Prototype can be
compiled from the repository --
http://dev.rubyonrails.org/browser/spinoffs/prototype/ -- on Ruby on
rails' web site, or look at Script.aculo.us...)
There's a lot of thing built on top of the library, I've wrote some
components also, and I added Rico on top of that (
http://openrico.org/)
to be able to send multiple updateables (DOM elements and JS objects)
through server side XML, and it's all fairly easy to use (easier than
to learn DirectX anyways!)
One could add Script.aculo.us (
http://script.aculo.us/) for dynamic
effects (the most recent compiled* version of Prototype, v.1.5 rc1 is
included)
(* compiled because Prototype is a collection of .js files that are put
together to form a single file, called prototype.js. But you can use
all module without too much of dependancies...)
But if you project is not that heavy, or if you refresh the entire page
a lot, Prototype might not be for you ; it is meat to refresh only part
of the screen, and rarely the entire document.
You could also look for Echo2 that is very impressive, but costly :
http://www.nextapp.com/platform/echo2/echo/
I'm not discarding any suggestion made in this thread, I just felt
writing about the pros of Prototype because so many people are quick to
crap over it ; it's all a question of "what type of Webapp you're
building" and "what are your coding techniques". Personally, I've
looked at Dojo, and I think that Prototype's way suits more my coding
habbits, and my Webapp's needs. (I haven't had the time to look at your
lib Matt, but I've read about it, and it looks alright.)
So, the general idea is : do not only read what others say, try it
yourself, even if people don't agree with it. Besides, if Prototype is
so bad, why is it hosted (and included) in the Ruby on rails package ?
-yan