The Symfony Frontend

Rick Kuipers

Developer @ Testersuite

Hello!

PC-Advice

For anyone willing to let a 14-year-old mess around in RegEdit.exe

“Full-stack developer”











Backend Architecture

Top 50

Separating frontend from backend

Pros

API driven development allows for multiple clients

Easier to separate frontend and backend teams

Freedom of technology for the frontend

Cons

Duplicated logic and ACL

Lots of data transformations

Slower development time

Two repositories, pipelines, ecosystems, CVEs and deployments

Extra state management in the frontend

Chess + Beer

StickChess.com

Turbo
Twig Components
Live Components
Autocomplete
Chart.js
React
Vue.js
Svelte
Image Cropper
Lazy Image
Stylized Dropzone
Swup Integration
Notify
Typed
Translate
Toggle Password
Twig Components
Live Components

Twig Components

Reusable, object-oriented templates.

Macros and Includes

Twig Components

components/Title.html.twig

Twig Components

components/RoundTitle.html.twig

Twig Components

components/TournamentTitle.html.twig

Twig template + PHP class

Twig Components

components/TournamentList.html.twig

Twig Components

App\Twig\Components\TournamentList

Twig Components

StickChess demo

Live Components

Reactive Twig components

components/Pairings.html.twig
App\Twig\Components\Pairings
components/Pairings.html.twig

Demo

What's happening?

On Change → Re-render template from backend

Demo

One solution fits all?

Heck no!

Every change hits the backend

Match Results

Alternatives

Alternatives

React
Vue.js
Svelte

The True Message

The architecture should fit your team.

Choose tech that isn't volatile and keep your footprint small.

Thank you

Email
dev@rick.blue

StickChess
stickchess.com

Testersuite
testersuite.nl