Slide 1

Slide 1 text

Nieder mit den Single Page Applications 🤪 Lose Kopplung im Frontend mit Hotwire_ Hamburg, Februar 2023

Slide 2

Slide 2 text

SPA Ursprung

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

SPA Kosten

Slide 6

Slide 6 text

Bundle Size

Slide 7

Slide 7 text

Traditional Architecture

Slide 8

Slide 8 text

SPA Architecture Overhead

Slide 9

Slide 9 text

SSR-SPA Architecture Overhead

Slide 10

Slide 10 text

Development time due to multiple layers and complexity (security) Cognitive load due to build stack (webpack, minify, uglify, …) Deployment time due to additional pipeline steps Operations costs due to dependency updates and security checks & updates Additional infrastructure due to SSR via NodeJS Performance due to bundle size and interpretation times on client side Overhead Summary

Slide 11

Slide 11 text

SPA Alternativen

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

● Turbo Drive accelerates links and form submissions by negating the need for full page reloads. ● Turbo Frames decompose pages into independent contexts, which scope navigation and can be lazily loaded. ● Turbo Streams deliver page changes over WebSocket, SSE or in response to form submissions using just HTML and a set of CRUD-like actions. ● Turbo Native lets your web-application form the center of your native iOS and Android apps, with seamless transitions between web and native sections. Stimulus is a JavaScript framework with modest ambitions. It doesn’t seek to take over your entire front-end—in fact, it’s not concerned with rendering HTML at all. Instead, it’s designed to augment your HTML with just enough behavior to make it shine.

Slide 15

Slide 15 text

Bundle Size ~15kb Hotwire Turbo

Slide 16

Slide 16 text

Live Demo

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Danke Kontakt TalentFormation.com GmbH Benedikt Stemmildt - CTO E: [email protected] T: +49 (0) 171 1443 957 TalentFormation HQ: GasstraĂźe 6A 22761 Hamburg