Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Umstieg von Express oder Spring

Ein Leitfaden für Entwickler aus Node.js (Express, NestJS) und Java (Spring, Spring Boot) - das Request-Modell von PHP im Vergleich mit einer Event-Loop und einem Servlet-Container, Routing, Middleware und Interceptors…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/coming-from-express-and-spring.md

On this page

This page is a translation. Read the English original

Umstieg von Express oder Spring

Diese Seite richtet sich an Entwickler, die Webanwendungen mit Express oder NestJS auf Node.js oder mit Spring und Spring Boot auf der JVM bauen. Die größte Umstellung ist nicht die Sprache, sondern das Prozessmodell; danach haben die meisten Konzepte eine Entsprechung, einige, auf die sich Spring-Entwickler verlassen (ein DI-Container, Annotationen), jedoch nicht.

Inhalt

  1. Das Prozessmodell
  2. Gegenüberstellung
  3. Ihr Frontend behalten
  4. Was Ihnen fehlen wird

Das Prozessmodell

Express, NestJSSpringExponential 6
Prozessein langlebiger Prozess, Event-Looplanglebige JVM, ein Thread pro RequestPHP-FPM: ein frischer Durchlauf pro Request; Velocity: persistente Worker, jeder mit jeweils einem Request
Zustand zwischen Requestsim Speicher, gemeinsamSingletons, gemeinsamkeiner unter PHP-FPM; pro Worker unter Velocity, worauf Sie sich nicht verlassen dürfen
Nebenläufigkeit innerhalb eines Requestsasynchrone I/OThreads, reaktive Stackssynchron; langsame Arbeit geht in eine Warteschlange
EchtzeitWebSocketsWebSocket-UnterstützungWebSockets und Server-Sent Events von Velocity (Velocity-WebSockets)

Unter Velocity ähneln die Regeln denen eines langlebigen Prozesses: Setzen Sie den Zustand pro Request zurück, und registrieren Sie Listener nur einmal (Server und Deployment).

Gegenüberstellung

Express / NestJSSpringExponential 6Seite
app.get(), Controller mit Decorators@RequestMappingViews in module.phpRouting
Middleware, Guards, InterceptorsFilter, HandlerInterceptorRequest-Regeln, Listener, Runnable-EreignisseMiddleware
NestJS-ProviderBeans, @Autowiredkein Container; Handler-Klassen aus INIDependency Injection
ein ORM (TypeORM, Prisma, Sequelize)JPA, Hibernate, Spring DataInhalts-API; eZPersistentObjectORM
.env, Konfigurationsmoduleapplication.yml, ProfileINI-Dateien, EXP_ENVKonfiguration
Passport.js, GuardsSpring SecurityLogin-Handler, Rollen und RichtlinienAuthentifizierung, Autorisierung
Template-Engines (EJS, Pug, Handlebars)Thymeleafdie Template-SpracheDie View-Schicht
Job-Warteschlangen (BullMQ)@Async, JMS, Spring Batchexpqueue, Inhalts-JobsWarteschlangen
node-cron@ScheduledCronjob-TeileGeplante Aufgaben
EventEmitterApplicationEventPublisherezpEventEreignisse
npm-Skripte, CLIsCommandLineRunnerbin/php/consoleKommandozeile
Jest, SupertestJUnit, MockMvcPHPUnit, HTTP-PrüfungenTesten

Ihr Frontend behalten

Viele Teams aus diesen Ökosystemen behalten ein JavaScript- oder Java-Frontend und nutzen Exponential als Inhalts-Backend: die REST-API für Inhalte, OAuth2 oder API-Schlüssel als Zugangsdaten, Redakteure in der Administrationsoberfläche (Headless und entkoppelte Frontends, REST- und JSON-APIs).

Was Ihnen fehlen wird

  • Annotationen oder Decorators für Routen, Sicherheit und Transaktionen.
  • Ein DI-Container und typisierte Konfigurationseigenschaften.
  • Asynchrone I/O im selben Prozess; verwenden Sie Warteschlangen für langsame Aufrufe.
  • Generierte API-Dokumentation (OpenAPI) für die REST-API.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x