Summary of the AJAX Frameworks Comparison

In previous weeks, I've analyzed several libraries and frameworks that augment the client with AJAX capabilities.

In this post, I'll compare them across several axes.

Analysis

For all intents and purposes, Vue.js and Alpine.js are similar; I'll refer to them as JavaScript frameworks.


JavaScript frameworks HTMX Vaadin
Frontend Skills Need the full HTML, JavaScript (it's in the name), and CSS tryptic Only need HTML and CSS, HTMX takes care of the JavaScript burden No frontend skills needed; Vaadin takes care of everything
Team Organization Depends on each developer's skills:
  • Either separation between frontend and backend development
  • Or they can develop their use case from the database to the UI
Each developer can develop their use case from the database to the UI
Ease of Setup
  • Thanks to WebJars, you can manage dependencies in the POM
  • WebJars Locator allows not specifying the version number in the HTML
  • You still need to reference each library in the HTML page
Everything is in the POM. As Vaadin generates the whole frontend, you don't need additional setup
Ease of Styling No default; one needs to use an existing library, e.g., Bootstrap, or create their own Vaadin comes bundled with the Lumo theme. Other themes are available in the Vaadin Add-ons Directory, such as the Parity Theme. Applying a theme is as easy as setting it as a dependency and adding an annotation.

Creating a custom theme is no small potatoes, though. You can ease the task by starting from an existing one and changing it bit by bit. Vaadin, the company, also provides custom themes for a fee.

Time to Choose

If you are still unsure how to proceed, here are my recommendations.

The same goes for distributing your app over several channels — from the start (bis repetita placent).

If you're in none of these situations, it's time to go into more detail. Are your developers skilled in frontend technologies? Are they willing to learn to close the gap? Will you need these skills in the near future? These are a couple of questions that can help you decide which way to go.

Conclusion

This post concludes my series on AJAX and SSR. I hope you had as much fun reading it as I did writing it.

The complete source code for this post can be found on GitHub.

 

 

 

 

Top