Hi,

> Maybe the reason you have 4000 lines of javascript is that you're not using
> chaining.
>
> Why would you pick a library, then decide NOT to use one of it's biggest
> strengths?

First of all, I started developing my library when I started using the
ExtJS library.
The purpose was to create a Façade between my applications and the
ExtJS code.
A Façade pattern can be useful when interfacing with code that belongs
to somebody
else, as it allows for some standardization of the interface which can
come in handy
sooner or later, and in my case it was both. Sooner because I kept the
redundancy
down as I used some of the ExtJS code in different applications under
my control, and
later when I decided to move out of ExtJS, as my applications depended
only on this
Façade I had created. Thus, as long as I could find and/or create an
alternative to
some of the ExtJS controls, I could remove the dependency on ExtJS
with certain ease.

In the process of leaving ExtJS, I gave YUI a try, which made me
create some of other
abstractions as YUI didn't provide them, while ExtJS did. It was then
that I created a basic
"DOM Helper" and "Element" classes/methods, and when I finally decided
to give jQuery
a shot as I wasn't too happy with YUI, I already had much of the code
I needed in place. :-)

Of course, ExtJS is a rich library, and I only used some of its
components, like its data grid,
combobox, toolbar, dialog window...

When I came to jQuery, I finished implementing my own versions of such
controls, which
gave birth to my own widgets library, which comprises wrappers for
Button, TextField,
TextArea, Select, Image, Label, Dialog window, Packer (layout
management), support for
dragging and resizing of Packer, Data Grid, DataSet, and so on...

Also, I have a Web framework of my own which has helped me with
developing my
client-size JavaScript library.

I mean, if I could find value in adopting jQuery chaining, I certainly
would, but so far it has
not been needed. Much of my JavaScript and DOM is dynamically
generated, which has
allowed me to clean up some of my server-side code as well, and now
with Ajax I even
have some kind of "Ajax services" which I find handy. :-)

Cheers,
Joao

Reply via email to