Which java web technology to learn to develop Rich Internet Applications?
ajax, gwt, java
Solution
AJAX is just a (in my humble opinion, meaningless) term.
jQuery is, in my opinion, the way to do Javascript. Unless there's an unsurmountable requeriment forbidding its use, I recommend it if you ever need to write Javascript yourself (note, if you are using GWT, you are using Javascript, but not writing it, so you don't need jQuery).
- Ease of learning: you need to change your mindset from traditional procedural-style JS [jQuery is still procedural, but has a big declarative aspect]. If you have never written Javascript it might be easier to approach
- Maintainability of web application code: very
- Community support: quite a lot
- IDE support - Eclipse or NetBeans: I don't think so. I don't miss it; I hate writing enough Javascript to make me miss an IDE.
- Off the shelf component availability (like textbox,table grids, option menus): jQuery UI has a bit and there is lots of material out there
- License - Does it cost for commercial use?: Nope
Of the other technologies you mention:
- GWT: I believe this is interesting if you are target intranet sites or something similar, writing very desktop-like websites (think Gmail, not a typical content site). I suppose you need to make quite a significant effort to make your GWT-based websites crawlable by search engines and to be usable by non-sophisticated browsers (i.e. GWT would be useless for JS-less browsers like some cellphones')
- JavaFX. I believe this is just a gimmick. Doesn't add much to Java applets and it does not have as much inertia as Java.
- Apache Wicket: this is on my to-investigate list
- OpenLaszlo: looks very interesting if you want to do Flash stuff without paying licenses.
As my suggestion.
I suggest you learn to develop your websites without JS at first. Then add JS (using jQuery), google "progressive enhancement".
Once you can do this, you can learn using something like GWT and use it if it's justified.
Problem
I have developed web applications using JSF (myfaces components). But in these days of responsive UI, JSF doesnt fare well. I m hearing a lot about AJAX, GWT, etc. So i wanted your opinion on which web technology/framework should i learn inorder to develop web applications for enterprise products. Some of the web technologies that i m hearing are: - ICE Faces (With AJAX Bridge support) - GWT - extJS and extGWT - JavaFX - Apache Wicket - Jquery - AJAX - Open laszlo Which of the above or the combination of the above would help me ? Some of the parameters on which you can rate these web technologies are: - Ease of learning - Maintainability of web application code - Community support - IDE support - Eclipse or NetBeans - Off the shelf component availability (like textbox,table grids, option menus) - License - Does it cost for commercial use ? - User Experience - responsive UI. Shouldnt be sluggish A similar question on SO does answer my question partially. Would want more info though. EDIT: Answers collated: Based on the answers : AJAX would be the best thing to start for learning fundamentals, then learn JQUERY. Any component based frame work that can complement ajax,jquery ? Edit 2: If i had to design a web application like StackOverFlow (in java platform) which would be the best choice to learn and adopt? Wicket + Jquery, WiQuery GWT Some XYZ Faces technology(RichFaces/ICEFaces) + AJAX. Comments appreciated from some one who has worked with them and can rate them in the above mentioned parameters.