Frameworks: what to do, what to do?

When it comes to Notes / Domino coding, I find that client work tends to be pretty low on the agenda with a lot of organisations nowadays, and most people want web stuff. Which can be real fun, especially when utilising Domino as the back-end. But in this day and age, people expect a lot from their websites, and for that to really happen, Javascript is the big player. I’ve used a few different frameworks (and evaluated a few more), over the past few years, but have yet to really get into this stuff, so would be interested to hear your experiences.

So far, in day-to-day gigs, MooTools and YUI have been the big players, although of course, given some of the stuff I work on, dojo will have to be looked-at soon ;-). Of course, there are many other things out there: the dev version of DominoWiki is using a smidgen of, which in turn builds upon prototype. The latest one that’s getting my attention is SproutCore which aims to be a full-fledged Javascript application framework. It’s pretty tidy, and boasts some nice demos on its site. I really like the installation process courtesy of Ruby (built in on OS X):

sudo gem install sproutcore

Ruby gems, nice! So anyway, how about you? Frameworks of choice? How do you read the scene? Will the documentation for YUI (awesome) trump Dojo, or will SproutCore kill ’em all? Who can say…


  1. i recon its the as a linux version, they are basically all the same (they do fancy UI) you just pick the one that does the job for you (after the political loonys have stuffed their hooves in at your client site) (porsonally i still love prototypeMark#
  2. Don't forget Ext.JS. There's even a nice Domino 6+ implementation already built for you on in the form of Ext.ND. :-)Nathan T. Freeman#
  3. Yeah, I deliberately fought shy of Ext.JS-derived work after the hoo-hah earlier this year:

    Another useful link BTW
    Ben Poole#
  4. Yeah, I was disappointed in the direction they took with licensing, but I think that got blown out of proportion: LGPL is valid unless you're developing your own framework on top of it (i.e. I can't write Tim.Js with Ext.Js as its base and then turn around and distribute it without making my own framework open source); for most of what we use it for (developing business apps with Ext as the base framework) conforms to their LGPL licensing… so you don't have to publish that app's source.

    YUI was my favorite framework until Ext showed up, which has been my favorite ever since. Never heard of SproutCore… I'll have to check that out.Tim Tripcony#
  5. I see SproutCore as being an entirely different beast to the likes of dojo, YUI etc. I think Apple might be positioning it as an alternative to things like Flash and Silverlight, even though it is still pure JavaScript (the Ruby stuff is mostly for installation and templating). The lack of tooling available for it at the moment makes it a non-starter for me, but you can already see fragments of it being integrated into the latest versions of Dashcode that ship with the iPhone SDK.

    And while we are picking favorites - jQuery!
    Jeff Gilfelt#
  6. Jeff, definitely. Although some of the Yahoo! and dojo stuff looks to be going that way, Ext.JS is probably the other big “whole application” contender.

    jQuery eh? I used some of Resig’s stuff for the diff engine in t’wiki, so should really take a look at that.

    So. No-one touting the MS Ajax library then?!?

    *ducks*Ben Poole#
  7. Me - I tried a few (jQuery, Dojo, mooTools, etc) but couldnt get it to be sufficiently easy. Lack of an Excellent debugger also grated on my nerves. (Firbug is Good, dont get me wrong. Its just not Excellent. And of course a debugger in IE (when Firefox works and IE doesnt) just doesnt happen.

    So I went Flex. Open source, £150 for the Eclipse based debugger/compiler, zero cost run time, runs on top of flash on any platform and does HTTP and Web Service calls. Sorted. Love it. Multiplatform. multibrowser. Its just a flash movie.

    I might even have some articles on how this all works soon.. ;-)

    --* BillBill#
  8. Prototype is ok, though my code client code to use it tended to become quite bloated.
    If performance gets acceptable (still have doubts), dojo is great. Simply anything from one box. ajax, I18n, widgets, widgets framework, testing framework and much more I have forgotten or have never known about.
    And of course, Lotus is commited to Dojo. On the java side dwr uses dojo and I am sypathetic to this framework.
    Unfortunatedly currently I have no time to dig deeper into all this as I am doing 100% backend stuff at the moment.
  9. We have found that Ext JS is by far the best js framework (we've used them all) even better than flex when building apps. If you are using Domino to build apps Ext.nd sends dojo packing. IBM needs to drop dojo and purchase Ext JS.Harry Phillips#
  10. Can you guess which one I like best? :) I've been working for around 5 years on coming up with a "framework" for building web based domino apps. The reason being was that IBM/Lotus just wasn't giving us a RAD environment for web apps. There were just too many hacks you had to do to get anything done and looking and functioning right in a browser.

    My first stab at this was back in early 2003 and that was to use the dxl generated from domino and do xslt transformations against this to produce better web views and outlines. I even posted this on OpenNTF here:

    After posting this code I then decided that views and outlines weren't enough. I wanted there to be a full-featured framework that would help developers in all aspects of web development with domino as their backend. So I created a project called "Domino Web Tools" in early 2004.

    In some cases I built my own UI logic and in other cases I mixed and matched pieces of other libraries (like a date picker and html rich text editor). I could never find one library that could do everything (and believe me, I tried them all - dojo, mooTools, Rico, jQuery, prototype+scriptaculous, yui, etc. etc.). Then, in late 2006 I stumbled across the work Jack Slocum was doing with yui and the custom grid extension he had done. It turned out to be quite easy to integrate into domino. He then started his own company in early 2007 and by then, he had enough widgets to map to existing widgets that Notes users were used to. Additionally, he had (and still does in my opinion) the easiest framework to extend and customize. So in 2007 I teamed up with several other domino folks and we started Ext.nd. In fact, we just the other day released beta 1r1 that includes categorized view support.

    You can find out more about it here in the Ext.nd forum

    And there's a demo app on OpenNTF that you can see here:

    Oh, and as far as the license is concerned I really think that was blown out of proportion. I don't see anything wrong with GPL. In fact, many projects on OpenNTF is GPL yet I don't see domino folks getting all upset about that. I think the issue was that Ext changed the license without warning anyone and that upset people. Plus, you add the fact that in less than a year it has already skyrocketed to # 3 on the most used Ajax/Javascript frameworks; according to a survey on here:

    and as a result you just end up with a lot more "voices" expressing their opinion.

    So, IBM maybe headed down the dojo path and that's fine but I and my users don't have time to wait for IBM to integrate dojo to the point where it looks great and is easy for developers to implement. Ext and Ext.nd are already there and I see it staying in the lead for several years.

    Anyway, that's my thoughts anyway on the subject. :)Jack Ratcliff#

Comments on this post are now closed.


I’m a software architect / developer / general IT wrangler specialising in web, mobile web and middleware using things like node.js, Java, C#, PHP, HTML5 and more.

Best described as a simpleton, but kindly. You can read more here.