views:

3084

answers:

8

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?

+1  A: 

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.

levik
A: 

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".

sanity
no there is - it just requires a lot of work in the <noscript> tag =)
Chii
A: 

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.

Horcrux7
A: 

Thanks guys! I've been looking at GWT and like it more and more. I used to do Java before so that's not a problem.

@sanity, I think my use case will require javascript anyway. So that should be ok too.

Rakesh

The Fat Oracle
A: 

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.

David M. Karr
@dkarrpipverisignlabscom What kind of problems are you talking about? I expect my application might get a little complex on the UI side in later iterations so I definitely care.I understand that decoupling UI from Server-side is ideal but if I am dealing with a competent framework, I am ok with it.
The Fat Oracle
You obviously haven't used GWT. You don't have to use GWT/Java on the server side if you don't want to. I use GWT on the client side with RoR on the server.
JP
+1  A: 

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.

rustyshelf
A: 

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.

Marcus King
+1  A: 

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.

Chii