f(m): A Client JavaScript Library That Mimics .NET BCL

I came across the f(m) project via the Ajaxian Blog. It’s pretty neat to see someone undertaking this. I realize there’s lots of little scripting frameworks out there, but AFAIK no one has taken the same angle to model it after the .NET BCL.

One of the coolest libraries f(m) offers is one that mimics System.Threading. For the uninitiated, there is no such thing as multi-threaded programming in the web browser. The best you can do is schedule work via a Timer, but that’s no where near the same thing.

It feels good to finally know that, thanks to the rest of the world finally realizing the power of the browser+script because of all the Ajax hype, the next time I want to write an client application I will be able to depend on someone else’s libraries instead having to hand roll my own for collections, events, DOM discrepencies, etc. Really wish this stuff was around sooner.

Now, if only someone would realize that what’s really needed is a component architecture for HTML then we’d be one step closer to where we are today in the “real” world. Did you know Microsoft submitted a spec in 1998? Maybe it wasn’t perfect, but what the hell is our excuse for still not having one today? FWIW, this architecture still works in IE today and Dean Edwards even wrote an Mozilla XBL binding to support it! And, yes, you’ve heard me rant about this before, but it doesn’t seem to be doing any good. 😛

Leave a Reply