Speaker: Dan Vega
See the table of contents for more posts
repo with examples: https://github.com/danvega/java-developer-frontend-landscape
General
- “The front end changes a lot but so do we”
Java Frameworks
- Web application frameworks – Spring MVC, Struts, etc.
- Java template engine – Thymeleaf, JTE (java template engine – newer option), freemarker, Mustache (logicless; only substitute values) groovy templates
- Component based UI frameworks – Vaadin (pure Java), JSF, Wicket (clear separation of markup and logic)
- Hybrid – JHipster (development platform for Spring Boot with Angular/Refactor/Vue and microservices), Hills (from creators of Vaadin. Combines Spring Boot and react)
- Desktop frameworks – JavaFX
HTML/CSS/JavaScript
- package managers – npm (website, cli, registry), pnpm, yarn, jsr
- nvm is like sdkman but for Node; let’s you have different versions
- build tools – webpack, parcel, rollup.js, esbuild (fast tool to create bundles; written in .go), vite
- runtimes – nodejs, dino (creator of node; wanted to start fresh), bun (all in one tool – runtime, package manager, build tool)
- htmlx – like the new jquery. Attach attribute to HTML.. Ex: hx-post, hx-trigger, hx-target, hx-swap
JavaScript Frameworks
- React, Angular, Vue
- Can update DOM quickly, hold state, best for single page applications, interactive dashboards, real time applications
Consider when choosing
- Team skillset
- Solo dev vs team
- Greenfield vs existing project
- Architecture needs of project
- Back office vs customer facing
- Whether SEO is important
- Whether needs to look good
My take
Great overview/comparison of the many choices out there and their features. It’s great it came with a sample repo to reference. The demos were good too for seeing some of them running.