Java Web UI - where to start building a modern website?

I view this question as wide and vague, but I would like to know that he has experience with the web interface in Java.

When you get the task of creating a web application, such as a website (such as an electronic store), which structure is a good start to communicate with modern Java web technologies?

The question is not which structure is better and why, the question is: if you want to learn the general and modern ways of creating a web-ui application with Java, where is the best place to start choosing the basics of building scalable and reliable web applications that can grow from launching from a few pages to huge applications with hundreds of connections per second?

+4
source share
5 answers

Spring Roo should start you up quickly and automatically use the Spring Framework, Spring MVC, Spring WebFlow, JSP, JSTL, JPA, AspectJ, etc. etc.

I personally use Roo to get the basics, then I โ€œun-Rooโ€ my project and continue to talk about my business, expanding the project as I need.

+2
source

There are many good options: Spring MVC, GWT, Grails, Roo (note how I specifically missed JSF?). It really depends on how comfortable you are with different parts of the language. Grails and Roo will do a lot for you across all layers of your application, assuming you follow the conventions. GWT will keep you from ugly html and javascript for the most part. Spring MVC is very non-intrusive and basically acts as a dispatcher and middleware, leaving all the detailed details of looks, perseverance, etc. to the encoder.

There is no right answer to this question, it all depends on what you want to do, how flexible it should be, etc.

+1
source

Well, two more options to launch a new web project:

  • To select the Maven archetypes available.
  • Take a look at AppFuse (it also uses maven). AppFuse light is better for the first contact.

I am not saying that they are the best options, but it's good to know that they exist.

+1
source

I think that web applications are getting richer and richer in the browser, and server components are getting smaller. That is, the MVC pattern becomes more important in the browser, so this has led to minimizing the need to save and monitor the state on the server.

Thus, the most relevant issue is, perhaps, modern methods of creating web applications using Java, but rather modern methods of creating web applications in general. But if you want to focus only on the Java part, you'll see a shift from MVC more to REST-style data-centric services. Regardless of the fact that REST annotations in Spring MVC or a more โ€œcleanโ€ JAX-RS implementation (and there are quite a lot of them), the small state that the server ends up supporting is a security context.

In terms of maximum scalability, which comes with the design and corresponding granularity of these data-oriented services. Of course, there are fundamentals on the server itself (shared resources, such as connection pools, thread pools, database tuning), but this is not something particularly new.

+1
source

Your question is too general for StackOverflow.

Wikipedia epic comparison - Web application framework comparison

0
source

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


All Articles