Java Rich Clients, Web Apps, and the "Corporate Developer"
There seems to be a big focus at this JavaOne about the "Corporate Developer." And for Java to reach a certain number of people, it has to become a standard for corporate applications. As such, there is a focus on web applications. I don't get it.
Although there are a lot of web applications in this space, there are also a lot of rich clients. If you are deploying an internal application to your company, web deployment isn’t such a big deal. In fact, web applications could be slowing down users when compared to rich clients. This is because web interaction requires many more round trips and results in slower response time and user interaction. So the question then is why the big emphasis on web apps?
Maybe it's because rich client deployment in Java is such a pain. If you have an internal corporate application, two of the main reasons to deploy over the web are deployment and the ability to run the application anywhere. For some corporate applications, the ability to run on machines outside the office is a big deal, but on many it is not. At that point, you're left with deployment. In my minds eye, writing a web app because rich client deployment is a pain is a big red flag of a problem.
Another point is the Java Scripting JSR (JSR-223) that Tim Oreilly spoke about this morning. I am all for Java scripting (as anyone who knows me knows). So... why all the emphasis on scripting in web apps? There are several Java scripting languages like Jython and JRuby that are quite successful on Java rich clients as well as all of J2SE (for various language generation, controller, inter-language communication and other tasks). So why not just say... lets do scripting in Java. Not, were going to do scripting in Java for web apps!
Maybe if we can get our acts together and get a real emphasis on rich clients in Java, we can hit the Corporate space a little harder in addition to making Java just more of a force on the desktop.