On 11/29/06, Peter Michaux <[EMAIL PROTECTED]> wrote:
>     * an aspiration for the highest quality code
>     * author documentation
>     * in-browser unit/integration tests
>     * namespaced code
>     * does not augment JavaScript built-in prototypes
>     * does not add a layer of sugar on top of JavaScript to make
> writing JavaScript like writing in another language
>     * Is minimizable with jsmin
>     * MIT License
>
> There are many JavaScript libraries out there. Why add another one to
> the list? To create a quality library with a liberal license.

I agree with you on many points:

* YUI made the best design decisions in their widgets
* YUI's non-widget code has some strangeness
* prototype's modifications to built in objects is unacceptable (only
because of design flaws in JS)
* dojo's quality varies (it's not bad, it varies)
* I care very much about high quality code, api, and architecture

but I disagree that the result is a new library.

I'll toss in MochiKit as the library you should have used/modified
instead of rolling your own. I suppose that the 'sugar' comment is the
reason for rejecting MochiKit, but iterators are a part of JS (as of
1.7) and aren't required, comparison has to be solved somehow, I can't
imagine someone preferring the normal DOM over MochiKit.DOM,
MochiKit.Signal has an api that's fairly close to yours except it
normalizes the event rather than providing access functions, and
MochiKit.Visual is a port of Scriptaculous, which you've mentioned you
like. That leaves MochiKit.Async. I'll admit that deferreds are weird,
but weird enough to write a new library? Eh.

As to writing new stuff, I dislike scriptaculous' effects architecture
and wrote my own. I'm also slowly porting the YUI widgets that I like
over to MochiKit. I'm working against the MochiKit.Visual code and
scriptaculous stuff, but that's a much smaller task than re-learning
all the weird browser issues and writing a completely new framework
without a clear goal other than being better than everybody else.

I was at a talk with Paul Graham and he mentioned that "doing X but
better" wasn't a great way to pitch a startup. Sure, you might
actually be better, but how are we supposed to know that you're
actually better until you prove it? The other libraries have a vision:

* prototype - We love prototype hacking and come with rails (was a first mover)
* MochiKit - We make javascript suck less (we love syntax sugar) (first mover)
* TIBCO - We provides bazillions of components but you need(ed) to pay
us money (first mover, recently open sourced)
* Dojo - We are the omnibus of frameworks, we do it all, anywhere, for
as many people as possible (early)
* YUI - We think the web needs design patterns (and we have Doug Crockford)
* GWT - We're Google. We do Javascript in Java.
* Mootools - Size matters. We do it smaller.

All these projects have mindshare and userbases. The first movers have
been around for a year and a half, the remainder for at least a couple
months. All but maybe Moo and prototype (which I'm not sure about)
have multiple developers backing the project and enough momentum that
they're not going to die anytime soon. Most are MIT or BSD licensed.
I'm not saying that you can't carve a niche, but you're entering a
fairly crowded space with a new and unproven project. Good luck.

--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"Ruby on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to