You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2005/10/18 07:32:56 UTC

DO NOT REPLY [Bug 37134] - [validator] Built-in JavaScript incompatible with modern AJAX techniques

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=37134>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=37134





------- Additional Comments From martinc@apache.org  2005-10-18 07:32 -------
Yes, Prototype is evil. Not only does it add a property to Object, it also adds
properties to other fundamental JavaScript types, such as Array. This is very
antisocial behaviour for a toolkit, and pretty much hoses any usage of the 'for
... in ...' construct in existing JavaScript code, unless that code was very
carefully written to work around exactly that behaviour.

Another big issue with Prototype is that it is not namespaced. All of its
classes are defined directly within the global JavaScript namespace, and it
defines some classes with names that are quite likely to exist in application
code (e.g. Form, Field). This has the potential for creating serious havoc,
especially in portal / portlet environments.

Of course, one of the big issues with the Commons Validator JavaScript code is
that it too is not namespaced. ;-( That's something that needs fixing. It's not
that hard to fix, but the changes would introduce new rules for people writing
custom validators. It's most definitely do-able, though, and needs to be done.

Prototype's increasing popularity, ironically, makes it decreasingly likely that
the serious deficiencies will be rectified, since that would mean breaking lots
of existing code. So I guess for Commons Validator, at least, we'll need to code
around those deficiencies. That too can be done - it's just a pain in the butt,
adds more code, and shouldn't be necessary.

Personally, I'm going to focus my client-side efforts on Dojo[1], a properly
written toolkit that doesn't have these kinds of problems, and I wish the folks
who want to use Prototype, and its derivatives, the best of luck. :-)

[1] http://dojotoolkit.org/

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org