Question

I come from the Microsoft world (and I come in peace). I want to rapidly prototype a web app and if it works out, take it live - and I don't want to use ASP.Net.

I am not sure which web application toolkit to use though. Should I use GWT, DOJO...other recommendations? I am open to any server-side language but am looking at RoR, Php or even Java (J2EE to be precise). I am not much of a Javascript/CSS guy so a toolkit that might make it relatively easy on me on those fronts would be preferable.

Also, I am a mac user at home. What IDEs go along with the framework you would recommend?

Any recommendations guys?

Was it helpful?

Solution

If you're open to doing Java, GWT is the way to go. It allows you to have a relatively uniform codebase across client-server, and to only use one language on both.

There are some limitations to doing very off-the-beaten-path AJAXy things (which GWT makes difficult, but not impossible), but it doesn't sound like that's your use case anyway.

GWT will allow you to scale up by using more of its features as your app gets more complex - and your prototype won't be throwaway code.

OTHER TIPS

If you want to write the front and back end in JAVA, and want to do complex ajax type thing, then GWT is a great way to go.

The easiest way to think about it is that building a GWT app is kind of like building a JAVA swing application that hooks into a server. Just like a swing app that uses a server you can make it fat or thin. When you're done it all compiles down into HTML and javascript, and has very good modern browser support (ie6+ ff, opera, safari).

It does abstract all the javascript and HTML away, but if you want it to look good you'll still need to understand CSS.

I think anyone who says that that it ruins MVC or that it's a muddying of client vs server doesn't understand GWT. GWT is a CLIENT side framework. And it is only used on the CLIENT. GWT does provide an RPC mechanism to hook it into JAVA (and other) back ends, but that's just a communication protocol, it doesn't mean that your server code magically becomes your client code. Sure you can write a whole bunch of business rules into your UI if you really wanted to, but you can do this with any framework, so it would be silly to say that GWT is somehow different in that respect.

GWT is a good choice, while if you choose more powerful JavaScript framework based on GWT (e.g. SmartGWT), the compiled stuff is too heavyweight.

Choose direct JavaScript if you need a compact project.

I am a fan of GWT, however I am very familiar with Java. I found it to be intuitive, and surprisingly easy to get good results quickly. If you are to use GWT, then you'll definitely want to use the free, and immensely powerful Eclipse IDE.

One disadvantage of GWT is that it requires Javascript to be supported by the browser, there is no "graceful degradation".

We have evaluate a large list of frameworks and have decide us for Echo2.

  • You need only to code in Java. Javascript you need only if you want write your own components.
  • There are no startup performance problems with large projects like GWT.
  • You can use the full range of Java in your client code because it run on the server. In GWT you can use only very small set of Java classes.

The IDE for Java is Eclipse. This is independent of the used framework.

I'm a fan of jQuery, the chainability of actions, traversals, and commands is really powerful. A good friend of mine is crazy about Mootools, he works at a Java shop FWIW. He mentioned a cool feature of Mootools is that you can specify the functionality you want the framework to include and it will generate the entire library on a single line in a file that you can include on your page to minimize the weight of the framework (pretty cool feature). Really it just depends on what you are most comfortable with. jQuery has great tutorials, is super fast, and can be used along with other javascript frameworks.

Not related to GWT, but have you considered other backends that GWT could work nicely with?

Grails is one backend that ties quite nicely with GWT.

Personally, I would avoid server-side frameworks that try to embed or hide the client-side framework. I'm sure that GWT is great for getting something going quickly, and is probably fine for certain kinds of applications, but you'll probably run into lots of problems "on the edges" for more complex applications. Decoupling the client framework from the server-side framework avoids those problems.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top