Vaadin vs jQuery user interface

I'm starting a new Java project, and it seems to me that the most common user interface technologies are jQuery UI vs Vaadin (or GWT).

Are there any recommendations on how to choose the most suitable user interface infrastructure, any advantages and benefits that can be noted here.

For example, using Vaadin is similar to developing a desktop application comparable to developing Java Swing applications, which are different from using jQuery.

But I would appreciate any additional thoughts regarding this.

Thanks.

+4
source share
4 answers

I don’t know, Vaadin, I know Java, I did some programming in GWT, and I know jQuery well. So here are my 2 cents about it:

Bottom line - I find it much easier to develop client-side GUIs with pure HTML / jQuery.

  • GWT promises support for all browsers, jQuery does this too.
  • GWT allows you to use a familiar language (java) instead of learning a new one (jQuery) - here we can discuss, but if you are also familiar with jQuery, this is not an advantage, if not, then I think learning jQuery is much easier than learning the structure of GWT.
  • I think GWT adds a lot of unnecessary complexity to the project (new compiler, new SDK, new bugs, new way to debug).
  • There are great javascript / ajax debugging tools and when using GWT you basically can't use them. You will have to use the Eclipse debugging mechanism, which can be a little cumbersome.
  • Deploying changes to GWT takes much longer than a regular HTML / javascript project, which means a longer development time.
  • If you use another FW in your application (for example, Spring, Hibernate), mixing them with GWT FW can create an encoding / maintenance addon (I say from experience).

As I said, I don’t know Vaadin, so I can’t comment on this, but I highly recommend you at least give jQuery a shot.

+4
source

What I like about Vaadin is that it handles all the client material and the connection between the client and the server (keep the updated interface, etc.). As you mentioned, how is programming a Swing application. Vaadin gives you a set of components and expands with GWT widgets. It is still adapting.

You don’t have to worry about HTML and JavaScript with Vaadin so you can concentrate fully on developing your application.

I hope I could help you from my point of view.

+5
source

The jQuery UI is too low to be used only by one (I wouldn’t do this, it wouldn’t solve your problems with the user interface), have you seen what Twitter bootstrap can do? it has everything that jQuery UI basically has and a lot of adopted plugins / components - this is a real structure on which you can rely and only the user interface infrastructure, which I will use at least a few years if I will something develop online. (responsive design capabilities, etc.) - simply indicating this opinion, even if you did not include it in your question: http://twitter.github.com/bootstrap/

What happens with vaadin and GWT, I, as already an experienced web programmer, do not need "desktop programming", it would only confuse me more, so I would not use them until I made a kind of "desktop" software the software looks like "pages on the Internet. (and by the way, if they were something like a swing, they would be a nightmare, but as they say, they havent used it because I don't need them.).

+1
source

If you know JavaScript and jQuery (much) better than Java, I would suggest you use jQuery UI. Otherwise, I suggest you use vaadin. Both structures have their advantages and disadvantages, and this is a very personal preference, do you like something else than others (for example, preference for typed / untyped languages).

First of all, I think that both structures have a large community and many plugins. Until now, I could always find the add-ons that I need for my work.

Some benefits of vaadin:

  • you can use one language (Java) for your RIA
  • development is safe by type → reduces the main source of errors
  • you can develop your application as a desktop application
    • no need to deal with client-side code (JavaScript, jQuery)
    • no need to deal with client-server communication (AJAX)
  • it is easier to write protected applications, since all the state of webapp is stored on the server (manipulations on the client side are useless)
  • you can debug all your code directly in your IDE
  • Access your database in an object-oriented manner using the Java Persistence API (hibernate and co.)

Some disadvantages of vaadin:

  • initial project setup (using webapp reload scripts, debugger setup) takes longer than for a simple php / javascript project
  • deployment time is slightly longer (~ 5 seconds to reload webapp)
  • To use external JS components, you must first write Java shells; however it is not so difficult (see https://vaadin.com/blog/-/blogs/vaadin-7-loves-javascript-components )
  • Vaadin is a high-level framework that uses GWT in the background. Thus, adapting specific details in vaadin components is not as simple as in a JavaScript-based user interface infrastructure.
+1
source

All Articles