tags:

views:

67

answers:

3

What is the 'best' server-side technology on Linux to use with Google Web Toolkit & why? I'd like opinions about:

  • JSF and other Java based server technologies
  • Rails
  • Django
  • PHP
+1  A: 

The server technology has very little to do with it; use whatever you're most comfortable with.

If you want to take advantage of GWT-RPC to pass Java objects between browser and server, you'll obviously need a server written in Java, but any Java server container will work more or less the same.

If you don't care about GWT-RPC, your server can be in any language, Python/Django, .NET/ASP, PHP, Rails, anything. At that point you're just going to be hosting JavaScript files, even static hosting should work for you.

You could even write a GWT app that doesn't connect to a server at all, where the user downloads the JS directly, perhaps packaged as a Chrome extension.

Jason Hall
Thank you. This answers my question. GWT-RPC basically eases serialization/deserialization of objects. That would mean that Java server containers are the best, taking only this into account.For any other server technology, from what I understand, we are on our own for serializing/deserializing objects.
Swami
+1  A: 

GWT is a client side technology used to convert Java to JavaScript.

If you want to use GWT as a client code for a client-server application you should use a Java based server to avoid problems.

You can use the GWT-RPC with any language or you can even use your own JSON wrapping, but the easier solution is to use a Java server.

My recommendation would be GAE, TomCat or Jetty. Both Tomcat and Jetty are really easy to configure in Linux and TomCat integrates nicely with Eclipse.

Carlos Tasada
AFAIK no other server languages have a way to read GWT-RPC data, so use of GWT-RPC limits the server to Java. Any other server language requires regular JSON for communication. Do you have a link to a non-Java method of reading GWT-RPC data?
Jason Hall
I think you can use XML/RPC for Python. Thanks, but this basically answers my question. Java based servers make it easier to communicate.When you say GAE, I think you currently mean Java based servers, right?
Swami
GAE is the "Google Application Engine", it's the natural companion, but AFAIK only work in the Google cloud.
Carlos Tasada
@Swami I've not heard of Python being able to communicate via GWT-RPC, do you have a link?
Jason Hall
I read about one guy using XML/RPC to achieve this but don't have the original link now. http://docs.python.org/library/xmlrpclib.htmlhttp://code.google.com/p/python-gwt-rpc/ This 2nd link seemed to try to solve this issue, but I see that there is no activity on this project for years now.
Swami
A: 

The path of least resistance will be a Java servlet container like Apache Tomcat or Jetty. The GWT servlets are deployed in the servlet container, and call into your own code for the purpose of persistence and other server-side application logic. All of the presentation logic should reside in the client-side GWT code.

May I also recommend that you take a good look at the Scala programming language? It integrates very neatly with Java, and is therefore a perfect language in which to write your server-side logic.

In terms of client-server communication, I recommend gwt-dispatch to you. It has a good following, and streamlines the handling of requests and responses on both the client side and the server side.

David