Nowadays, Java enterprise applications often default to Angular, React, or Vue for the frontend. But for this kind of application, the most natural UI framework already exists in the Java ecosystem: Jakarta Faces.
Modern Java enterprise applications tend to follow a familiar pattern: a Java backend exposing REST APIs and a JavaScript/TypeScript frontend built with some library like Angular, React, or Vue. This architecture has become so standard that we rarely question it.