Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which front end technology with Java EE backend

There are so many languages in web development that sometime I get confused which one to learn and start with. I like Java, but dont like JSP for presentation, are there any front-end technologies that best suits with Java/Java EE backend for web application development?

like image 819
daydreamer Avatar asked May 03 '11 21:05

daydreamer


People also ask

Is Java EE front-end?

This Java EE 7: Front-end Web Application Development training helps you explore building and deploying enterprise applications that comply with the Java Platform, Enterprise Edition 7 Web Profile.

What front-end is used with Java?

Languages used for the front end are HTML, CSS, and JavaScript while those used for the backend include Java, Ruby, Python, and . Net.

Is J2EE front-end or backend?

Back-end Developers: Web Server technologies (e.g. J2EE, Apache)


2 Answers

The web-layer technology that is promoted in recent JavaEE versions is JSF. It uses facelets instead of JSP for its views.

JSP with JSTL is pretty fine though, I don't see a reason to drop it. You can use it with any web framework, like spring-mvc, struts, or other frameworks with different rendering technologies like GWT, Vaadin, Wicket, etc.

like image 144
Bozho Avatar answered Sep 22 '22 09:09

Bozho


With most things it depends on what your project requires. Here are two powerful web techologies you may find useful.

Vaadin (Front and backend integrated as pure Java)

For rich, AJAX heavy applications Vaadin can be a great fit.

Advantages:
- Rapid development for complex interaction between UI components and backend beans
- Pure Java solution, no need to worry about creating markup or maintaining massive javascript files
- Good documentation
- Many powerful components out of the box and through the open source community

Disadvantages:
- There can be a steep learning curve to understand the various components
- Extending/changing some features (such as how a UI table retrieves data from a data source) can be very difficult
- If your application needs to be highly scalable, keep in mind this framework is stateful
- Handling back button on browser and dynamic URLs is extra work

Spring MVC (Front is JSP or HTML, backend is Spring MVC)

If you want to maintain total control and scalability, Spring MVC with or without JSP is your best bet. Here's a good hello world and more spring mvc tutorials are available on that site.

Advantages:

  • Relies primarily on open standards
  • Highly scalable
  • Helps enforce proper MVC in your code
  • RESTful framework, allows the developer to easily handle dynamic URLS and GET/POST separately
  • Retain total control by creating the HTML/CSS/JS

    Note: For a HTML/CSS/JS solution, I recommend starting with something like Zurb Foundation or Twitter Bootstrap. It will save a lot of time compared to starting from scratch. Download the latest and import it into your webapp folder to get a quick boost on your project.

Disadvantages:
- Managing AJAX calls can become challenging on large applications
- A more indepth knowledge of HTML/CSS/JS will be required (compared to Vaadin)
like image 31
Erich Avatar answered Sep 22 '22 09:09

Erich