I am still looking for a good rich web client stack for my next project

Starting last January I am taking about a two year break from consulting work to work on several of my own projects.

My first project (my AI recipe/cooking coach web site cookingspace.com) is close to being full featured. This is what a friend of mine calls a “passion project.” This web app performs a lot of server side processing. Users need to keep all of the food/ingredients in their kitchen up to date with the web app, and the AI coach will modify recipes to use the ingredients you have on hand. So, a lot of server side computation but rendering simple HTML pages is all the UI the app needs. Everything is written in Clojure + Compojure + Hiccup: a solid and easy to use stack.

My next project requires a rich client. I have been going a little nuts the last few weeks experimenting with web stacks I have (mostly) experimented with in the past, trying to decide what is right for my next project. I have (re)looked at:

  • Mostly plain HTML with bits of Clojurescript
  • Clojure with pjax (which I wrote about last year)
  • Node.js with Ember.js
  • Clojure with Ember.js
  • Clojurescript with webfui (interesting, and I would like to hear from anyone using it on a large project)
  • Java GWT
  • Rails 4 with Ember.js

So, lots of experimenting with Ember.js but it may not be for my temperament: I like to really understand how libraries and frameworks work. I think that Ember.js needs to be your personal religion to use it effectively. I would like to give Pedestal a chance but without insider knowledge of Pedestal or a lot of time, I don’t think that Pedestal is a good choice for me right now.

I should probably do my new project in Java and GWT (I have tons of experience with GWT + SmartGWT) but I just don’t feel like using Java. Nothing wrong with Java and GWT is a good solid framework, but I just don’t feel like using it anymore.

I think I will end up using a fairly low-tech approach that has worked well for me in the past on a project where I used The Dojo UI framework with a Java backend. I implemented almost the entire app with plain old HTML + forms and when I was done I went back and used AJAX where needed to eliminate the most annoying page reloads. For my next project this probably means initially rendering static HTML with Hiccup and when I like the functionality then going back and reworking with Clojurescript (with Closure’s XhrIo) AJAX calls as required. I might end up wasting time doing the project in these two phases, but it will let me get something to experiment with faster.

One thought on “I am still looking for a good rich web client stack for my next project

  1. amanu

    Have you considered Meteor? http://meteor.com/

    It’s not really a “rich client” if you need “rich components”, but definitely a very efficient and impressive solution.

    If “rich components” are a must, so far nothing seems to beat ExtJS 4.x http://www.sencha.com/products/extjs/ .It has a very efficient GUI designer and the back-end can be anything; only disadvantage is the high price.

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>