Quantcast
Channel: lisp service
Viewing all articles
Browse latest Browse all 20

A simple categorization of client-side web application frameworks

$
0
0

I recently wanted to find a new framework to use to create a very client-heavy web application, and after some searching on the Internet, I was completely overwhelmed by the sheer number of options.  These frameworks differ on a variety of dimensions, but the one I found most useful for me was to categorize them based on their "heaviness."  What I mean by a heavy framework here is one that is used for making very desktop-like applications for the browser - things that make it very simple to do things like undo in your app and end up producing a very fat client type application.  Light frameworks, on the other hand, are not much more than a layer on top of raw Javascript to help you do things like AJAX calls or DOM manipulation more easily.  Although I am looking for a heavy framework, all of these frameworks have their place.

Note that this list, right now, is based solely on what I have been reading over the past weekend and I haven't actually hacked around with any of the frameworks (I plan to once I finish making my shortlist).  Please feel free to let me know in the comments if you think I have miscategorized any of the frameworks.  I also realize that ranking the heaviness of the framework is somewhat simplistic and doesn't take everything about the framework's ability into account (everybody is unique, after all), but it just seemed like a useful heuristic to me (and I feel like it would take me at least a month to really judge all of these frameworks).   I hope, at some point, to write up more detailed reviews of some of these frameworks.  

Anyway, my classifications are below.  

  • Heavyweight (The entire app is pretty much on the client side and the framework is focused very much on making desktop-like applications - these are often used to create what are known as RIAs)
    • Flex
    • Sproutcore
    • Cappuccino
    • Open Laszlo
    • Silverlight
    • Qooxdoo
    • JavascriptMVC
    • Spry
    • OAT
    • JavaFX
    • Tibco GI
  • Light heavyweight (These frameworks still make it possible to make desktop-like applications with huge widget libraries, but seem to be one level of abstraction below the heavyweights)
    • Dojo
    • YUI
    • EXT
  • Middleweight (These frameworks don't differ that much from the light heavyweights, except they seem to have fewer widgets and UI tools)
    • Google web toolkit (GWT)
    • Open Rico
  • Welterweight (These frameworks make writing AJAX and doing DOM manipulation easier, but they seem a bit low on tools to make a full fledged desktop like application)
    • JQuery
    • Prototype/scriptaculous
    • Fork
  • Lightweight (These seem to basically be very light abstractions on top of Javascript/CSS - more like Javascript utility libraries than actual frameworks)
    • Moo Tools
    • X Library
    • Mochikit
    • XUL

Permalink | Leave a comment  »


Viewing all articles
Browse latest Browse all 20

Trending Articles