I am faced with a new web project for which I have to choose the technology to use it. Five years ago I was in the same position and I chose Tapestry. It proved to be a very good choice (1, 2, 3) and I am still able to modify and adapt that code without much difficulty. However now there are so many rich web interfaces which I cannot ignore.

What would you choose for your next web development project?

Here are some requirements:

  • web-based
  • rich gui, to smooth the migration from client to web application in a very conservative environment
  • secure, remotely debugable

Here are some initial considerations/questions:

  • if it’s M$ related or cannot be fully developed on linux drop it
  • it could be great to be java friendy since at least now nobody is complaining about java related technology and I don’t want to go over the discussions again by choosing python for instance
  • what about flex, surely a good looking result with this kind of technology?
  • what about gwt, the client likes it because he is still afraid of web development but knows GUI development (sound a bit stupid as argument)
  • what about the good old tapestry with some fancy dojo
  • what about all the others things like echo2?
  • not to ignore the server part of every of these applications, does it speak xml or json?

What would you choose for your next web development project?

Comments:

Tony Losey -

I have bias toward perl, so for the server side I am pretty much using Catalyst. On the client side, since I have compiled my first flex app…I am using flex for the next couple of things no matter what. I have a long history with Flash and Actionscript..(though dormant for a few years).

Most of my development projects require some ability to be searchable via the engines (ie. Google) so I almost never have a ui that is anything but html. For an application that does not require any spiders to get to it…I would choose flash as a front end every time.


Len -

I fully agree with your html searchable argument. To the end it’s always a question of what you want to do. Thank you for your opinion.