Is GWT OK for this? if so, what is the best internal java technology we can use?

I have been developing web applications for a long time using Microsoft technologies, but now I was asked to create a VERY BIG application in a Java Web project. For some reason, I have to use GWT as a front-end; I read a few comments about this, where some people say that this is not the best option for applications with large / enterprise applications (in this case it is almost as complex as ERP). Another requirement: to allow connection to several databases using technology for quick development and low cost (users do not want to wait for pages to load) ...

So the questions are: - The best GWT option? - If so, what are the best internal features (Java technology) that we can use? I read that it could be Groovy, Spring Roo or JSF. - Should I be a Hibernate user or create another easy option?

Thank you in advance

+4
source share
4 answers

GWT is a serious structure, regardless of whether it is used for a large or small project. Before moving on to GWT, you should understand that:

  • it is a client (browser) technology.
  • this is the level of translation from Java to JavaScript, where JavaScript development is either eliminated or reduced to a minimum
  • it is able to integrate with the server (middle tier), especially well based on Java, no matter what technology it uses: JDBC, Hibernate, GAE, patented, etc.
  • designed for Java / desktop developers, so expect a steep learning curve if this is not your background
  • this requires a fundamental understanding of MVP structures (changing MVC)
  • this requires an introduction to JavaScript browser technology.
  • large projects with GWT will require the use of supporting frameworks such as GWT MVP, Guice, gin, gwtp, etc.

A good analogy would be Swing or Eclipse RCP. They offer a rich graphics platform for desktop PCs, as well as integrate with various server technologies. But the target platform for GWT is a JavaScript-enabled browser, not a desktop.

+6
source

GWT is a very convenient platform and is suitable for projects of all sizes, especially since 2.1. The Google Wave team has helped GWT develop APIs and methods that really help use GWT for large projects. Regarding the .NET experience, this may be a steep learning curve, but the GWT Getting Started Guide for Google is a good place to start, and you should be able to hit the ground. One thing that people often forget is that GWT is actually just a compiler that emulates parts of the JRE, and in the end it's just HTML, CSS, and Javascript.

There are many options for back technologies, but there are actually two decisions you must make. First, you will need to resolve the issue of the network / communication layer. As I can see, you have 3 main options for the type of messages before we even begin to implement it: GWT-RPC, REST (XML or JSON) or SOAP. I prefer REST with JSON, however, if you do not need to disclose your services outside of GWT, you might be better off with GWT-RPC. If you decide to go with REST or SOAP, you can even refuse to use the back of Java, and instead use .NET to stay in your comfort zone. For this, I would write XSD to describe your data model and use .NET to save and display your data as JSON via REST. You can then use JAXB to generate the Java representation of these classes for use in your GWT client, however you will have to separate all the XML annotations and modify them to work as overlay types .

Secondly, you will need to determine your level of persistence. Many people prefer Hibernate, but I prefer JPA, or it’s great for enterprise applications. The advantage of using Java feedback with GWT-RPC communications is that you can use RequestFactory with EntityProxy , so you only need to support one version of the object from the client through the save layer.

+2
source

I recommend you look at this topic: GWT for large projects?

+1
source

At first you cannot use JSF for internal, I suggest you use sleep mode for back-end and jsf for front-end, especially the new version of jsf2 with CDI power and I recommend that you use Richfaces, Primefaces as lightweight jsf components and also the Seamframeworkas development platform if you use it, I think that you will have the most powerful Java web technologies

GWT may serve you in a large project, but may require a double comparison with JSF, but if you like GWT you should take a look at Vaadin

0
source

Source: https://habr.com/ru/post/1334224/


All Articles