2

Looking for a modern front-end web framework that is either JS- or Java/JVM-based (like GWT which does cross-compiling, etc.) but that has no Node/NPM dependencies. Meaning I should be able to develop and build a sizable web app with it without ever needing node or npm installed on my machine.

  • Needs to be well supported and actively maintained by a decently-sized OSS community
  • Needs to be well documented
  • Should have all the common bells and whistles as any other "major" framework (Angular, React, etc.) out there: routing, responsive/mobile friendly, security/XSS protection, AJAX, unit testing tools available, buildable from command line, rich UI support, etc.

1 Answer 1

1

Vaadin

Vaadin is a framework for building web app user interface completely in Java. At runtime the web app runs server-side in a Java Servlet container. Vaadin automagically generates on-the-fly the HTML, CSS, JavaScript, AJAX, WebSocket, and Push code needed to remotely render the UI in any modern web browser. All the code you write is Java; All the code your users’ machine sees is standard web technologies (no Java).

Vaadin is open-source, free-of-cost, and used by at least 150,000 active developers. Many components are bundled, and many more components can be plugged in via the emerging Web Components technologies. Vaadin 6, 7, and 8 were based on GWT, while Vaadin 10 and later (Vaadin Flow) has been re-engineered to be based on Web Components.

Node-free.

Inherently more secure as no business logic is running on the client-side. The state and business logic of your app lives only on the server-side.

Powerful tooling and a rich ecosystem comes with the Java world. This includes potent IDEs, wide-ranging unit testing with JUnit 5 and its many pluggable testing frameworks, testing tools available (for commercial fee) to support UI testing both logically as well as visually, and participating in continuous integration workflows.

Vaadin scales very well because it leverages the speed, reliability, and superb threading of the modern Java Virtual Machines. Caveat: Because the state of the app for all your users lives on the server-side, you do need a substantial amount of RAM and CPU on the server. How much depends entirely on your particular app and number of simultaneous users.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.