Zkontroloval jsem svoje dva aktivní projekty, oba používají log4j 1.2.x, takže za mě cajk :-)
A proč používáte obludku a ne něco menšího, třeba Jetty? Nebo Micronaut+Netty?
Jednotný jazyk pro BE a FE je podle mne podle mne k ničemu. Mnohem větší rozdíl mezi BE a FE je v architektuře, v principech fungování. Jestli se použije stejný nebo jiný jazyk je jenom nepodstatný detail.
Dělejte, jak myslíte. Ale myslím, že přecházíte k horší technologii.
Když jsem byl mladý, tak jsem měl taky jasné názory, že tohle je super a tohle je hnůj. Časem jsem ale poznal, že technologie jsou nástroj a jde o to, vybrat správnou technologii / nástroj pro daný účel.
Jistě jsou situace, kde je Java lepší. Třeba paralelní thready nad sdílenou pamětí. Možná raw výpočetní výkon. Ale tady nic z toho nepotřebuju, tohle je jednoduchý, nepříliš zatížený REST server nad malou DB s nějakými dvaceti endpointy. Tam Java sama o sobě moc výhod nepřinese. Naopak mi přinese výhodu, že to bude v technologii, kterou aktivně používám a ne takové, kterou jsem víceméně opustil před čtyřmi lety. Plus Typescript je za mě pružnější a příjemnější jazyk, než Java.
Ona obludka je celé J2EE.
Pokud už používáte technologie pro přístup k (předpokládám) relační databázi z TypeScriptu a pro vytváření REST endpointů, můžu se zeptat jaké technologie to jsou? S jakou knihovnou pro přístup k PostgreSQL nebo MySQL máte dobrou zkušenost? S jakou knihovnou pro REST kontroler?
J2EE nemusíte používat. Dneska existují věci jako Micronaut, ve kterém to, co jste popisoval, napíšete za chvilku, a server vám nastartuje za půl vteřiny. Proti tomu je obludka Node.js :-)
Teď jsem dokončil jeden malý hobby projekt, který pro REST endpointy používá API infrastrukturu poskytovanou Next.JS (který poskytuje i server side rendering pro frontend). Jako databáze je tam SQLite 3. Pro malý hobby projekt dostačující a umí "zadarmo" i in-memory mód, který se báječně hodí pro automatické testy.
Jinak se REST endpointy dají konfigurovat normálně přes Express rozhraní. K SQL serveru jsem se z Node.JS ještě nepřipojoval, koukám, že existuje třeba https://www.npmjs.com/package/postgresql-client a vypadá použitelně, ale reálnou zkušenost nemám.
Za odkaz na Mikronaut děkuji, kdybych někdy chtěl optimalizovat ten větší projekt, tak bych se na něj určitě mrknul.
Next.js pokud vím poskytuje jenom mapování URL, validace nebo dokumentace se musí řešit ještě jinak.
Pořád mi ta výhoda jednoho jazyka připadá jako nedůležitá maličkost ve srovnání se vším ostatním, co je potřeba umět pro psaní backendu nebo frontendu. Ale možná je to tím, že celý svůj profesní život přecházím mezi webovým frontendem a javovým backendem, takže mi přepínání mezi Javou a JavaScriptem nevadí (teda až na ty arrow operátory, to je snad za trest).
> validace nebo dokumentace se musí řešit ještě jinak.
Ano, například GraphQL jako v tom mém zmiňovaném projektu.
> Pořád mi ta výhoda jednoho jazyka připadá jako nedůležitá maličkost...
To je opravdu podle projektu. Když budu mít nějaký velký systém, kde každou komponentu dělá dedikovaný tým X lidí, tak tam stejný jazyk opravdu (relativně) velkou výhodu nepřináší.
Na mém projektu nejde ani tak o přepínání, ale o to, že v Javě (už) skoro nedělám a v TS píšu mnohem rychleji.