P
P
prizrak392014-03-27 21:57:35
Java
prizrak39, 2014-03-27 21:57:35

What tools to choose for creating a web application in java?

Hello.
At the moment I am choosing libraries, frameworks for implementing a web application in Java.
I got acquainted with the information on the Internet and several options were chosen:
1. GWT / Vaadin - Spring - Hibernate.
2. Wicket+jQuery - Spring - Hibernate
3. Tapestry - Spring - Hibernate
Choice mainly consists of a means to implement the user interface. Of these tools, only Vaadin used it, in my opinion, the code is very cumbersome and difficult to maintain and scalable.
I would like to hear advice on the correct organization of the application architecture (a feature of the application is that the forms are quite complex with a large number of elements).
Thanks in advance.

Answer the question

In order to leave comments, you need to log in

5 answer(s)
R
Ruslan Lopatin, 2014-03-28
@lorus

AngularJS + UI Bootstrap + Spring + Hibernate.
Building and managing complex forms on the client side is much easier than building them on the server side and then putting a bunch of noodle-like JavaScript/jQuery code on top of them.
AngularJS takes care of the entire user interface, while Spring acts as a RESTful service.

A
Alexey Pomogaev, 2014-03-28
@Foror

You are suffering with GWT, and Google has already scored on it, having made GWT 2.0 - Dart, which also has a dubious future. In Wicket - a crooked implementation, done by hacks, they shove anything into the user's session, although they don't know how they are now.
Tapestry is more or less, even a new version is about to be released, in which Prototype.js has been replaced with JQuery. And also Bootstrap out of the box by default jumpstart.doublenegative.com.au/jumpstart7 Another plus is changing classes / templates and displaying the result without reloading the container. Although, of course, not everything is so smooth and after some time the container will stupidly freeze and you need to raise it again.
But the problem is that the framework is constantly changing and switching to new versions can be problematic. For example, in 5.3. Prototype.js, and in 5.4 all default components are JQuery and Bootstrap. From 5.2 to 5.3, the URLRewrite service was completely redesigned, making it worse than it was. But on the other hand, the advantage is that the framework is very flexible and if you don’t like the new URLRewrite, you can override through IoC and return the old one.
It doesn't make much sense to use Tapestry 5 + Spring, Tapestry 5 has its own IoC and a module for Hibernate. And if you search on the github, you can find other modules. But in general, you will have to cut a lot with your hands yourself. According to the forms, there is a default component that generates the form automatically from the model, but of course it is rather weak, for complex forms it may not be enough.
I am also planning to make a web application now and am leaning towards Angular.js. I want full adjax so that the user does not see transitions to other pages at all. Partly due to the fact that it resembles Tapestry 5. But on the server side, I think just using some simple controller (Undertow, for example) and some JSON-POJO + framework can connect IoC from Tapestry 5. Or try understand Spring, in the latest versions everything can be configured through annotations, but here you also need to see what it gives me, maybe everything will also need to be cut by hand, and in this case Tapestry IoC looks simpler.
For forms, you can use something like this https://github.com/dobtco/formbuilder In general, you can look for something on the github on the angular form, maybe there is somethingkelp404.github.io/angular-form-builder

V
Vladimir Govenchik, 2014-03-28
@baxxabit

You haven't considered at least one more option. There is such a wonderful Java / Groovy framework, Grails . Inspired by Rails, jQuery - by default, latest versions (2.3) made for maximum usability with Rest, Angularjs binds with a bang. Spring + Hibernate out of the box. I strongly recommend trying it. Even consider Groovy as an advantage, if you have extensive experience in Java, you will write Groovy in a couple of hours without problems.
Boostrap + Angular looks like a very good solution for rapid prototyping.
And what exactly is the problem? How can a framework that is mainly focused on the backend (other than Vaadin, as far as I know) help you make the frontend? Explain, if not difficult.

P
prizrak39, 2014-03-28
@prizrak39

I was a little imprecise. At the moment, both the logic and the interface are written in Vaadin. I would like to organize a more understandable and scalable architecture in the new application.

V
Vladimir, 2014-03-28
@azrail_dev

Play Framework 2.0

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question