Differences compared to traditional Sylius
This section explains how FrontWing (React + Remix) differs from the traditional Sylius Twig frontend.
Rendering & Architecture
Rendering
Twig templates rendered by Symfony (PHP)
React + Remix SSR with hydration
SSR
Twig
Remix loaders + Vite SSR
Templating
Defined in Symfony/Twig
React components (e.g. Default.tsx
)
Layouts
Webpack Encore
Vite
Page Routing
Symfony routes + Twig views
File-based routing (routes/
) in Remix
API Usage
Data access
Server-side PHP services
REST API calls (fetch)
Cart management
Symfony session / PHP state
Frontend state (React context + API)
Authentication
Symfony session-based
Token-based (via Sylius API)
Communication
Direct PHP service calls
/api/v2/shop/...
endpoints
Styling & Layout
Base styling
Bootstrap + Sylius UI overrides
Bootstrap + custom SCSS
Template customization
Twig blocks & macros
Component overrides
Responsive behavior
HTML/CSS templates
React components + layout grid
Theme customization
Via themes/ folder
Editable components + SCSS files
Order Token & State
In FrontWing, cart state is managed fully on the frontend using:
OrderContext
(React context)Cookies (with the
orderToken
)Token is auto-created and reused
In traditional Sylius, the cart is stored in Symfony session and handled server-side.
Summary
FrontWing gives you full frontend freedom using a modern stack – React + SSR + API-driven state – while still using Sylius as the backend engine.
If you’re comfortable with React and want a headless approach, FrontWing is the modern alternative to the traditional Twig theme.
Last updated
Was this helpful?