Which Tools for Web Development?

17 02 2008

Let’s assume you are a software developer, a free-lancer, and a prospect customer calls you. He needs a (small to medium-size) Web application and wants you to develop that application, but first he asks for the best “technology” for that application. What do you say?

Yes, what kind of useful technologies are there? And what are the criteria to select one?

You do not use Microsoft technologies, because you are a Java developer… Maybe MS would have some useful tools for the job, but you don’t know them or don’t want to use them.

So what about php? The big advantage is that it runs on a lot of servers, doesn’t need many resources, and there is much code available on the Web. But still, you are a Java delopver. And the customer wants a rich user experience, i.e. you will need a lot of JavaScript in the application. Or maybe there’s something else?

Well, there is Flash. It offers a lot of possibilities for great user experience. And Flex (which is based on Flash) makes it relatively easy to write Web applications in Java with a Flash/Flex front-end. Of course, one must learn Flash/Flex first, but that is not so complicated, and then it really offers a lot of interesting features. And something Apollo may allow the users to work offline which might make sense in that special application for your prospect customer.

But let’s we stick to Java. And JavaScript in the browser. So you could use GWT (Google Web Toolkit). This is a very special technology. Instead of writing JavaScripts you write some Java code which is then translated to JavaScript. The translation is a special one, it considers the differences of the Web browsers, so a lot of the pain is taken away from the developer. You could use that to write great JS pages, which communiate to a Java Web application. I think this is a hot technology, but of course it depends on the customer if he wants to use such a “new” thing.

Now we are back in the old-fashioned world of Java Web application frameworks. Which one might support JavaScript best? Struts? No, too old. JavaServer Faces? Or better some library based on JSF like IceFaces. Great! In theory. Actually most of those JSF libraries do not (yet) really work as smoothly and stably as they should or as you would expect. But still this is a good option, no matter what technology you use there will always be libraries or code with bugs, and let’s face it, Java Web application are surely not as stable as php applications when compared to the used resources.

And what about Sun Microsystems, the “inventor” of Java? They offer a lot of tools and frameworks around Glassfish, their Java EE application server. Project “Woodstock” is a project where a framework for JSF and AJAX is created. It sounds promising, but it is still under heavy development, and I think, Sun has not the best reputation for making UI frameworks…

Actually the way of traditional Java Web application, is probably the safest one. GWT offers an astonishing way to build JavaScript based pages, and it is really very easy to use. Flex may be the hottest technology because here two worlds are combined: great Java server software and great UI experience by Flash.

So it’s up to you what you tell your customer. How will you decide?

[poll=3]


Actions

Informations

Leave a comment

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