Nachrichten zu Krypto-Börsen Krypto-Betrug und Sicherheit

Effiziente Einrichtung von Inertia.js mit Rails und Server-Side Rendering für moderne Webanwendungen

Nachrichten zu Krypto-Börsen Krypto-Betrug und Sicherheit
I spent a week on Inertia Rails and SSR setup. I wrote this so you don't have to

Ein umfassender Leitfaden zur Integration von Inertia. js in Rails-Projekte inklusive React, TypeScript und ShadcnUI.

Die Entwicklung moderner Webanwendungen stellt Entwickler vor zahlreiche Herausforderungen, insbesondere wenn es um die Kombination bewährter Back-End-Technologien mit dynamischen Front-End-Frameworks geht. Ein aktueller Trend ist die Nutzung von Inertia.js zusammen mit Ruby on Rails, um Single-Page-Application-ähnliche Erlebnisse zu schaffen, ohne auf den Full-Stack-Framework-Charakter von Rails verzichten zu müssen. Besonders spannend ist dabei die serverseitige Darstellung der Applikation (Server-Side Rendering, SSR), welche sowohl die Performance als auch die SEO-Freundlichkeit erheblich verbessern kann. Die Kombination aus Inertia.

js, React, TypeScript, Tailwind CSS und ShadcnUI bietet eine moderne, produktive Basis, die Rails-Entwickler nutzen können, um ansprechende und schnelle User-Interfaces zu erstellen. Dieser Leitfaden stellt die erprobten Schritte und Erkenntnisse vor, die in einer intensiven Entwicklungswoche gesammelt wurden, um den Einstieg in dieses Setup für Rails-Entwickler erheblich zu erleichtern. Die Herausforderung bei der Nutzung von Rails mit modernen Front-End-Frameworks beginnt oft bei der Gestaltung der UI-Komponenten und der Handhabung von CSS. Während früher Bootstrap und umfassende Themes den Bedarf deckten, hat sich die Front-End-Landschaft mit der Verbreitung von Tailwind CSS stark verändert. Tailwind CSS setzt auf Utility-First und erlaubt dadurch eine schnelle, flexible und wartbare Gestaltung von Oberflächen.

ShadcnUI, eine auf Tailwind optimierte UI-Bibliothek, bietet vorgefertigte Komponenten, die in React und TypeScript erstellt werden. Diese Kombination vermeidet viel händische Arbeit und sorgt für konsistente Designs. Allerdings kollidiert die Verwendung rein auf React basierender Komponenten mit der von Rails bevorzugten Hotwire-Methode, die das sogenannte HTML-over-the-wire-Prinzip verfolgt. Das heißt, Hotwire strebt danach, so viel wie möglich serverseitig zu rendern und nur minimale JavaScript-Interaktionen im Client zu verwenden. React-Komponenten, gerade wenn sie durch Tools wie v0.

dev generiert werden, sind ein komplett anderer Ansatz, da sie primär im Browser gerendert werden und wesentlich mehr Client-Side-Logik benötigen. Diese Diskrepanz führt zu einer fragmentierten Entwicklungswelt, in der man zwischen zwei mentalen Paradigmen jonglieren muss. Genau an diesem Punkt setzt Inertia.js mit SSR-Unterstützung an, indem es Rails als API-Backend nutzt und React-Komponenten serverseitig rendert, bevor sie an den Client ausgeliefert werden. Der Einsatz von Inertia.

js erlaubt somit, das Beste aus beiden Welten zu vereinen: die ausgereifte Backend-Logik und das Routing von Rails sowie moderne React-basierte UI-Komponenten. Die Integration mit TypeScript steigert zusätzlich die Codequalität und Wartbarkeit der Front-End-Komponenten erheblich. Dabei kann Tailwind CSS dank Integration in Vite als schneller Build-Prozess nahtlos verwendet werden. Vite übernimmt nicht nur das schnelle Kompilieren und Entwickeln, sondern sorgt dank serverseitigem Rendering auch dafür, dass der initiale Seitenaufbau schnell und SEO-freundlich bleibt. Ein wichtiger Punkt beim Setup ist die einheitliche Konfiguration der TypeScript-Projekte.

Um ShadcnUI reibungslos nutzen zu können, sind Anpassungen an tsconfig.app.json und tsconfig.json nötig. Diese Konfiguration erlaubt den modularen Import von Komponenten und das Auflösen der Pfade, um das Arbeiten mit dem Front-End Code zu vereinfachen.

Dabei ist zu berücksichtigen, dass die Struktur so konfiguriert ist, dass sowohl clientseitiges Rendering als auch SSR nahtlos funktionieren. Die Vorbereitung des SSR wurde häufig unterschätzt. Fast überall waren die Tutorials veraltet oder nur unvollständig. Für das React-basierte Server-Side Rendering müssen Dateien speziell in TypeScript mit der Endung .tsx stattfinden.

Ein häufiger Fehler ist, diese als .jsx zu definieren, was Kompatibilitätsprobleme verursacht. Die Verwendung von ReactDOMServer’s renderToString in Verbindung mit Inertia’s createInertiaApp erlaubt die serverseitige Erzeugung von vollständigem HTML, das der Client als initialen Seiteninhalt erhält. Wichtig für die Entwicklungsumgebung ist außerdem die korrekte Einrichtung der Ports und Hosts in den Konfigurationsdateien von Vite. Ohne diese Einstellungen treten häufig Fehler auf, zum Beispiel Verbindungsprobleme zu Vite Dev Server bei Verwendung von localhost beziehungsweise 127.

0.0.1. Hier sind kleine Anpassungen in vite.json erforderlich, um einen reibungslosen Entwicklungsablauf zu gewährleisten.

Die Integration von ShadcnUI ermöglicht es Entwicklern, vorgefertigte UI-Komponenten direkt in ihre React-Seiten einzubinden. Mit Hilfe der Kommandozeilenbefehle zur Installation und Auswahl eines Templates kann eine moderne Oberfläche in wenigen Minuten generiert werden. Für eine stabile Nutzung sollte man darauf achten, vorübergehend auf React 18 zu downgraden, da ShadcnUI auf React 19 noch nicht vollständig stabil ist und Warnungen verursachen kann. Das Deployment stellt eine eigene Herausforderung dar. Die Standard-Dockerfiles des Rails-Ökosystems berücksichtigen meist nicht die zusätzlichen NodeJS-Abhängigkeiten, die für das Builden der JavaScript-Assets benötigt werden.

Daher ist es essenziell, NodeJS während der Build-Phase des Docker-Images zu installieren. Dies geschieht durch das Herunterladen und Kompilieren einer spezifischen Node-Version innerhalb der Dockerfile. Die Node-Module werden anschließend via npm ci sauber installiert, was eine reproduzierbare und saubere Installation garantiert. Ein weiterer Knackpunkt beim Deployment liegt in der Konfiguration von Kamal – einem modernen Tool zur Container-orchestrierten Bereitstellung. Kamal kann unter anderem für das Starten der SSR-Vite-Server verwendet werden, die für die serverseitige Darstellung der React-Komponenten notwendig sind.

Die clever eingerichteten Netzwerknamen und Aliase, wie beispielsweise vite_ssr im Container-Netzwerk, stellen sicher, dass der Rails-Webserver den SSR-Server zuverlässig ansprechen kann. Dies führt zu einer stabilen, skalierbaren Infrastruktur, die auch bei der Nutzung mehrerer Architekturen (x86 und ARM64) flexibel bleibt. Die Handhabung von Secrets und sensiblen Daten erfolgt dabei sicher über Environment-Variablen und Files, die Kamal verarbeitet. Besonders die Datenbank-Passwörter, der Rails-Master-Key sowie Login-Daten für Docker-Registries werden hierbei getrennt und nie im Code festgehalten. Der Einsatz von .

env Dateien, die nicht mit in Git kommen, und die Weitergabe der Umgebungsvariablen über die Shell bilden die Grundlage für eine sichere und flexible Konfiguration. Die Datenbankkonfiguration wurde angepasst, um neben der eigentlichen Produktionsdatenbank auch separate Caches und Queues zu bedienen, was sich mit Rails 8 als neuer Standard etabliert hat. Das Bereitstellen von SQL-Seed-Dateien beim Start der PostgreSQL-Datenbank erleichtert die Automatisierung und stellt sicher, dass alle benötigten Datenbanken vorhanden sind. Zusammenfassend lässt sich sagen, dass die Kombination von Inertia.js mit Rails, React, TypeScript, Tailwind CSS und ShadcnUI eine zukunftssichere Möglichkeit bietet, leistungsfähige, responsiv und SEO-freundlich optimierte Webanwendungen zu erstellen.

Automatischer Handel mit Krypto-Geldbörsen Kaufen Sie Ihre Kryptowährung zum besten Preis

Als Nächstes
The Future of Junior Software Engineering Roles
Mittwoch, 02. Juli 2025. Die Zukunft der Junior Softwareentwickler: Chancen und Herausforderungen im Zeitalter der Künstlichen Intelligenz

Ein umfassender Einblick in die Veränderung der Rolle von Junior Softwareentwicklern in Zeiten wachsender KI-Einsatzmöglichkeiten, den Wandel in der Ausbildung und die notwendigen Fähigkeiten für eine erfolgreiche Karriere in der Softwareentwicklung.

Energy investor Five Point targets $2 billion from Northwind pipelines sale, sources say
Mittwoch, 02. Juli 2025. Energieinvestor Five Point strebt Milliardenverkauf der Northwind-Pipelines an

Der private Energieinvestor Five Point plant den Verkauf von Northwind Midstream, einem Betreiber von Gasinfrastruktur im Permian Basin, und zielt auf eine Bewertung von über zwei Milliarden US-Dollar ab. Der Deal verdeutlicht den anhaltenden Trend privater Investoren, Energieinfrastruktur zu veräußern und dient als Indikator für die Dynamik auf dem US-Energiemarkt.

S&P 500 Risks Snapping a Winning Streak
Mittwoch, 02. Juli 2025. S&P 500 vor dem Ende einer beeindruckenden Gewinnserie: Risiken und Ausblick

Der S&P 500 steht vor der Möglichkeit, seine beeindruckende Gewinnserie zu unterbrechen. Wichtige Faktoren wie die Moody’s-Abwertung der US-Staatsanleihen und steigende Renditen beeinflussen die Börse.

Chipmaker TSMC is booming, but its factory near Portland is at a low point
Mittwoch, 02. Juli 2025. Halbleiterhersteller TSMC im Aufschwung – Werk bei Portland durchlebt Tiefpunkt

Taiwan Semiconductor Manufacturing Co. (TSMC) verzeichnet weltweit ein enormes Wachstum dank der steigenden Nachfrage nach Halbleitern für künstliche Intelligenz, doch das Werk in Camas bei Portland kämpft mit Herausforderungen.

Bengio: The catastrophic risks of AI – and a safer path [video]
Mittwoch, 02. Juli 2025. Yoshua Bengio und die katastrophalen Risiken der Künstlichen Intelligenz: Ein Weg zu mehr Sicherheit

Yoshua Bengio, einer der führenden Experten im Bereich der Künstlichen Intelligenz, warnt eindringlich vor den gravierenden Risiken, die mit der schnellen Entwicklung von autonomen KI-Systemen verbunden sind. Er plädiert für einen verantwortungsvollen Umgang mit KI und stellt einen sicheren Pfad für eine menschzentrierte technologische Zukunft vor.

Why Love Generative Art? (2018)
Mittwoch, 02. Juli 2025. Faszination Generative Kunst: Warum sie die Kunstwelt revolutioniert

Generative Kunst verbindet Technik und Kreativität auf einzigartige Weise und spiegelt die digitale Transformation der letzten Jahrzehnte wider. Sie ist ein künstlerischer Ausdruck, der geometrische Formen, Zufallselemente und algorithmische Prozesse nutzt, um faszinierende Werke zu schaffen, die traditionelle Kunst neu definieren und erweitern.

Reddit Stock Falls as Analyst Says Google Search Issues Are Likely ‘Permanent’
Mittwoch, 02. Juli 2025. Reddit-Aktie fällt: Analyst sieht dauerhafte Probleme bei Google-Suche als Ursache

Die jüngsten Kursverluste der Reddit-Aktie stehen im Zusammenhang mit anhaltenden Problemen bei der Google-Suche. Experten gehen davon aus, dass Änderungen im Suchalgorithmus langfristige Auswirkungen haben könnten, die das Wachstum von Reddit beeinträchtigen.