When will we dump server side web frameworks?

Single page web applications have been around for a while. Applications that run all user interface code in the browser using Javascript to update the user interface. The application server only exists to provide access to data and business logic.

However, most Java Enterprise web applications i encounter still use serverside web technology like jsf, seam, wicket or similar. It’s not like these frameworks are perfect. Heavy weight on memory usage, problems with history and back buttons, complex lifecycle to maintain state, complex model split over multiple tiers.

Why are most enterprise web applications still using server side webframeworks? Some years ago I wrote a single page web application, mostly using JQuery (Here’s a presentation I did for nljug in 2008 about this project: Client-Server 2.0 using JQuery and Grails).

Today, the javascript frameworks to support single page webapps have matured a lot: we have MVC frameworks like backbone.js, UI component frameworks, javascript templating, QA tools like jslint and google closure linter, unit testing frameworks like qunit and jsunit, and documentation tools like jsdoc and docco.

So a full set of frameworks and tools to create single page webapplications exists. What is keeping us from using these for enterprise web applications?

  • Phillips1021

     I don’t think single page web applications are very common in the enterprise. I’ve yet to create a web application that is just one page.  Once you go beyond one page and need to have a controller, data conversion, validation, security, etc frameworks such as JEE or Spring provide a great deal of support. 

  • http://www.andrejkoelewijn.com/ andrej

    True, single page apps are not very common in the enterprise, but the frameworks and tools you need are there and maturing quickly. What is still missing before we can start building enterprise javascript applications?

  • Frisian

    There are still environments, where JavaScript is turned off for very valid reasons. Besides, I wouldn’t want to work without server-side validation and for that alone a web framework comes in handy.

  • http://www.andrejkoelewijn.com/ andrej

    Sure, if you have to support browsers without javascript, this is no option.

    Server-side validation is a must, as is database validation. Server-side service (REST) or orm frameworks can handle validation without the need for a user interface mvc web framework.

  • http://www.itsnat.org Jmarranz

    andrej take a look to ItsNat, client-side style of development but in server, pure Java W3C DOM (or other JVM lang) and pure HTML and focused on Single Page Interfaces web sites and applications.
     The main advantage of this approach is no need of user defined client-server bridges and strong use of Java instead of JavaScript.

    http://www.itsnat.org

  • http://twitter.com/wansoliveira Wanderson Oliveira

    Critical mass? Support from big vendors?