Dezvoltare web în Java fără stivă JavaScript
FoxyUI este un framework web cu interfața randată pe server. Compui interfața din componente Java și tratezi evenimentele pe server; browserul primește doar fragmentele HTML care s-au schimbat. Fără Node.js, fără bundler, fără stare de sincronizat pe client — doar un fișier WAR.
Cum funcționează FoxyUI
Logica de business, validarea și interfața stau într-un singur loc — codul tău Java — peste standarde deschise verificate.
Arbore de componente Java
Compui Card, Button, TextField, layout-uri și altele, cu un API fluent și tipizat.
Actualizări HTML parțiale
Construit pe HTMX: după un eveniment serverul trimite doar fragmentele schimbate (out-of-band swaps). Fără DOM virtual, fără reîncărcări complete.
Jakarta Servlet 6 și Java 21
Rulează pe Tomcat 10/11 sau Jetty 12 și folosește fire virtuale pentru concurență mare.
Grafice doar din CSS
Grafice cu bare, coloane, linii și sectoare, desenate din tabele HTML semantice cu Charts.css — fără bibliotecă JS de grafice.
Actualizări în timp real
WebSocket și Server-Sent Events pentru dashboard-uri live, notificări și telemetrie.
Sigur din start
Protecție CSRF, validare pe server și o suprafață minimă pe client. Teme luminoasă și întunecată incluse.
Aplicația și codul Java din spatele ei
Simulări în browser ale unor aplicații FoxyUI reale. Alege una, folosește-o și citește codul Java care o definește. Demo-urile și codul sunt în engleză.
FoxyUI față de o stivă SPA tipică
| Criteriu | FoxyUI | React / Next.js SPA | Spring MVC + JSP |
|---|---|---|---|
| Limbaje | Doar Java | Java + TypeScript | Java + șabloane |
| Build frontend | Niciunul | npm, Vite/Webpack | Niciunul |
| Actualizarea interfeței | Doar fragmentele schimbate | DOM virtual în browser | Reîncărcarea paginii |
| JS în browser | ~25 KB | 350 KB – câțiva MB | Variabil |
| Starea aplicației | Doar pe server | Dublată client + server | Server |
| Instalare | Un WAR | Server Node sau CDN + API | WAR |
Prima ta pagină FoxyUI în patru pași
-
Creează un proiect web
Orice proiect Maven sau Eclipse Dynamic Web Project pentru Java 21 și Jakarta Servlet 6 (Tomcat 10/11).
-
Adaugă JAR-ul FoxyUI
Copiază
foxyui-4.0.jarînWEB-INF/lib/. Este singura dependență — nimic de instalat pe partea de client. -
Scrie o pagină în Java
public class HelloPage extends FoxyPage { private final TextField name = new TextField(); private final Label greeting = new Label(); private final Button hello = new Button("Say hello"); @Override public void init() { hello.onClick(e -> greeting.setText("Hello, " + name.getValue() + "!")); add(new Card().add(name, hello, greeting)); } } -
Înregistrează ruta și instalează
FoxyConfig.setProductionMode(true); FoxyAppRegistry.registerPage("/hello", "hello", HelloPage::new);Mapează
FoxyServletînweb.xml, construiește WAR-ul (mvn packagesau Eclipse Export → WAR) și instalează-l în Tomcat.
Adaugi AI în aplicație? Descoperă SamurAI.
Un framework Java fără dependențe pentru fluxuri de agenți AI, cu 31 de furnizori LLM.
Întrebări frecvente
Ce este FoxyUI?
FoxyUI este un framework web cu interfața randată pe server, creat de SoftWay. Construiești interfața ca un arbore de componente Java; evenimentele sunt tratate pe server și doar fragmentele HTML schimbate sunt trimise browserului.
Am nevoie de Node.js, npm sau un framework JavaScript?
Nu. FoxyUI vine ca un singur JAR. Un runtime mic de tip HTML-over-the-wire (circa 25 KB) e servit de framework; nu există pas de build pentru frontend.
Unde poate rula o aplicație FoxyUI?
În orice container Jakarta Servlet 6 cu Java 21+, de exemplu Apache Tomcat 10/11 sau Eclipse Jetty 12. Aplicațiile sunt împachetate ca WAR standard.
Este FoxyUI potrivit pentru producție?
Da. Are mod de producție și protecție CSRF integrată, iar toată starea și validarea rămân pe server.