Hi Karl,

On 11/29/06, Karl Guertin <[EMAIL PROTECTED]> wrote:

> 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,

Yes

> but iterators are a part of JS

not cross-browser in today's browser environment.

> (as of 1.7)

Which so far is only in Firefox 2.0 as far as I know which means it
could be 7-10 years before we can use iterators for public internet
sites.

> 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

That is fine design decision but I don't want the bulk of creating a
new object to wrap the event object. It seems wasteful. I'm not 100%
hung up on event.stopPropagation() instead of stopPropagation(event).

> , and
> MochiKit.Visual is a port of Scriptaculous, which you've mentioned you
> like.

I only think Scriptaculous is a good resource to look at for ideas and
browser bug clues.

> 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 think if you look carefully in the Prototype and Scriptaculous code
you will find they have not solved the browser wierdness well in many
places. I can't say much about the mochikit code because I don't know
it well but here is a piece of mochikit code that could use attention

  var ua=navigator.userAgent.toLowerCase();
  if((typeof
(opera)!="undefined"&&parseFloat(opera.version())<9)||(ua.indexOf("safari")!=-1&&self.computedStyle(elem,"position")=="absolute")){
  c.x-=b.offsetLeft;
  c.y-=b.offsetTop;
  }

It's easy to take pot shots at code like this but I've become so
disappointed by the JavaScript I have seen that it is easier just to
research the ideas from scratch and write a new library with the bonus
of the API I want.


> 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.

You have valid points but I am not starting Fork for profit so the
situation is a little different then a start up. There are Rails
developers who don't like Prototype. I might provide a solution for
them.

> Good luck.

Thanks

Peter

--~--~---------~--~----~------------~-------~--~----~
 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