SquareI'm replacing a JSF frontend with React for a semi big java application . What approach do you feel is more natural and easy to work with: A) npm/webpack(possibly Vite later) or B) frontend-maven-plugin?
SquareClaude answered it.
* arkadio joined #java
SquareAnyone using "Jetbrains Gateway" for local container development? I wonder if it creates a directory called '~' in your home folder? Feels like a bug to me.
* hwpplayer1 joined #java
* kcomhnall joined #java
* ferdna joined #java
sirecmgman jsf is the worst ><
sirecmgit is probably easy to work with jsf with claude though
* lain6141_ joined #java
* Zapek joined #java
* deavmi joined #java
deebodon't do react, do htmx or something :)
deebounless you're 100% client side, having to deal with SSR is pure satan
* sbalmos_ joined #java
* jjj333_p joined #java
Squaredeebo: SSR?
Squareoh server side rendering?
deeboserver side rendering
ParaServer Side Rendering. Acronym made to justify doing stupid things; not really the concept as a whole but more of a "I want to run React on server because durrrr".
Squaredeebo: I thought react didn't ship with SSR out of the box?
SquareI've seen the horrors in Next.js
deebodepends on how you serve it
SquareFor vanilla React it's not a problem right? This is just a low traffic admin application.
deebonextjs does it ok, i'd actually use it isntead of anything self bootstrapped from a template that will be obsolete next week
deebowe have a 10+ year big react+ssr project and the constant upgrading is the biggest hassle, on nextjs there would at least be more help and possibly tooling
deebounless you're working on it at least weekly for the foreseeable future, don't roll your own webpack/whatever/etc build, just use nextjs
deeboespecially for a backoffice app
deeboantd + nextjs is a good way to go there (we run a few of these), not sure if htmx has anything comparable for components
comradPara: SSR is the proof to me, that we just went to hell and back. First everyone wanted to render on the client, now it's all back to server rendering again.
ParaAnd the reason of course was that wait, this is actually slow when we take into account all the necessary things!?
ParaWith a good helping of forcing one trick as solution for all of it.
Squaredeebo: I don't see the need for server side rendering for a low traffic admin application.
ParaAll software could be made with just a single megafunction.
Squarenow you sound like a functional programmer =D
Squaredeebo: (but maybe I'm wrong)
SquareSSR is for a snappy feel was my understanding.
ParaAt least part of it is/was motivated by Google's millisecond golfing.
Squarewdym? I think I've missed this. For ad brokering?
ParaIt used to be that Google's indexer refused to render more than one full redraw, and people made shit frontends which would redraw wildly during initial load. Google also timeouted the process quickly (remember when CPU was expensive?), and site rank algorithm would use snappiness as driving factor.
ParaThere was endless papers and blog posts about how small ms loads would lead to tens of percents of higher sales.
Squareah ok
* Cae2 joined #java
SquareSo none of you use "Jetbrains Gateway"?
Square...what do you use instead?
Para...have to look up first what that even is.
SquareIt's Jetbrains Dev Container take is my understanding
ParaOh I don't use Dev Containers, those are shit.
Squarehaha
ParaThe idea is OK but so far I've only seen failures and even worse build setups with them in projects than what they are supposed to fix.
SquareSo you let the agents have free reign on you system?
Squareyour*
ParaI generally don't let agents run things :) I do per-command verification, and most often tool calling agents tend to deteriorate on themselves as well.
ParaThe issue is that the "thinking" process does 20 mistakes to get 1 result, and while this could be ignored, it also means 20x cost. So don't let them think.
ParaAlso I think at least Anthropic's models are deteriorating in general. I'm fairly certain e.g. Sonnet used to be better half a year ago than today.
SquareAh interesting perspective. I've been so non curious about agentic coding so I started using it this week for the first time.
deebofor anything actual user facing with SEO needs, you need SSR (still), for backoffice tooling we just have "use client;" in every component so it only works on the client
SquareI thought the hole industry was diving into it
deeboi just give claude/copilot access to IDEA MCP and if it want's do something stupid like download jars and decompile them i tell it to just stop, and sometimes it even listens!
comradthat's what their marketing wants you to think ;)
deeboit's a good tool when you need to do something in bulk, or repeat the same thing over many repositories, but anything "new" still needs a few passes to clean up
comradi am lousy with webdesign, but claude did some nice sketches, so i iterated over them. not agent, but generated and tried.
comradi had so add some more prompts to stop it from remaking the whole thing, just to move a button more to the left
deebowe did a few spring boot 4 upgrades manually with verification of proper configurations etc, then just pointed claude to the repos with the PRs: "look at these PRs and do the same upgrade in this repo"
ParaSquare: On paper agentic workflows are pretty neat, it's just that the tooling seems to be focused on making an expensive mess.
Squarehaha
ParaAnd yeah, using LLMs to generate some corners/bits which you then massage manually into shape is a pretty good way to utilize them.
SquareI must say this port of JSF -> React is going like proceding like a steam engine train.
ParaAre they even concept compatible?
ParaI'd probably create an extensive suite of E2E tests first.
deeboyeah for agentic stuff you need tests to make sure everything actually works
deeboand not tests by the agent itself :) it can create some insanely stupid tests
SquareI feel we've mad a big win just by cutting off the jsf dependencies. It's holding the app back in many ways.
Squareit's quite a simple app, but you know how things were back in the days. Tons of code for even minor things.
comradSquare: that Port is a whole Concept Shift, you pretty much can start over as well
SquareI haven't inspected the end result yet, just checkpoints along the way. You guys don't seem convinced so maybe I'll get a sad surprise in the end.
comradbut jsf is not so bad, if you know why you want it
Squarecomrad: "that Port"?
comradSquare: JSF -> React
Squareah ok
SquareSure, JSF is page based, React is SPA by default.
ParaRemains to be seen. It might work.
ParaThe real cost is always in maintenance.
SquareI hoped I be able to massage away the quirks that comes with it.
SquareI imagine you can do React more page based too no?
deeboyou can
deebobut no one is going to get a malicious jsf.jar of a 5 year old version in mavencentral
deebosomeone is going to get a malicious dependency of dependency of dependency in npm, and you're fucked if you don't have alerts etc set up for these :)
ParaHm, that perks an idea. I wonder if Maven plugin ecosystem would have some kind of killswitch for downloading too old deps.
deebodoes age directly matter?
ParaThere probably could be a good curve of CVE rating + time.
ParaOWASP has a config flag for plain CVE score.
* iusr joined #java
* node1 joined #java
* MonsterAbyss joined #java
* iusr joined #java
* Krusher joined #java
* MonsterAbyss joined #java
* iusr joined #java
* phlox joined #java
* phlox joined #java
* gas51627 joined #java
* MonsterAbyss joined #java
* Adrian35 joined #java
* MonsterAbyss joined #java
* lain6141_ joined #java
* ta71 joined #java
* iwtga joined #java
* Perflosopher0387 joined #java
* OmniRadix69891 joined #java
* marcel1 joined #java
* MikeBux joined #java
* OmniRadix69891 joined #java
* node1 joined #java
* jamezp joined #java
dreamrealmorning
julemand101hi
* Adrian35 joined #java
* xv8 joined #java
* pebble joined #java
* Betal joined #java
BombeGood morning.
dreamreall'shana tova
* ramontjunior joined #java
sbalmosyarr
* node1 joined #java
* henbruas joined #java
* MonsterAbyss joined #java
* akaWolf joined #java
* akaWolf joined #java
* LtHummus joined #java
* svm_invictvs joined #java
* m2 joined #java
* Aedil joined #java
* dinomug joined #java
* node1 joined #java
ParaI wish you all 3 parts grapefruid flavored soda, 2 parts white grapefruit juice, 2 parts gin, half part fresh lemon juice, splash/dash club soda, slice of grapefruit for garnish or whatever else might be your thing this Friday.
* magla joined #java
BombeThat sounds nice.
ParaIt's the recipe for Finnish long drink, "lonkero". Drink mix which was invented for the Summer Olympics 1952 and is to this day really super popular over here.
* hwpplayer1 joined #java
* kcomhnall joined #java
* m2 joined #java
* deavmi joined #java
* deavmi joined #java
* mindCrime joined #java
BombeOh, that’s what that is? I always assumed it was either a beer or contained copious amounts of Salmiakki.
ParaWe like to scare tourists with Salmiakki.
ParaOnce we've slapped them good enough, we'll give them the pleasant stuff. Or Gambina.