Skip to content

Latest commit

 

History

History
103 lines (82 loc) · 2.59 KB

File metadata and controls

103 lines (82 loc) · 2.59 KB
layout home
hero
name text tagline image actions
Diffyne
Server-Driven UI for PHP
Blazing-fast, reactive components powered by Virtual DOM
src alt
/logo.png
Diffyne
theme text link
brand
Get Started
/getting-started/installation
theme text link
alt
View on GitHub
features
icon title details
Blazing Fast
Virtual DOM diff engine sends minimal patches (70-95% smaller payloads) instead of full HTML re-renders
icon title details
🔒
Secure by Default
State signing, locked properties, and method whitelisting protect your application from common attacks
icon title details
🎯
Simple & Familiar
Write PHP components with Blade templates. No JavaScript framework knowledge required
icon title details
🔄
Reactive
Public properties automatically sync between server and client. Changes trigger instant UI updates
icon title details
🛠️
Laravel Native
Built for Laravel with seamless integration for validation, authentication, and all Laravel features
icon title details
📦
Lightweight
Minimal JavaScript runtime. Server does the heavy lifting, browser just applies patches

Quick Start

Build your first component in 5 minutes:

composer require diffyne/diffyne
php artisan make:diffyne Counter
<?php

namespace App\Diffyne;

use Diffyne\Attributes\Invokable;
use Diffyne\Component;

class Counter extends Component
{
    public int $count = 0;

    #[Invokable]
    public function increment()
    {
        $this->count++;
    }
}
<div>
    <h2>Count: {{ $count }}</h2>
    <button diff:click="increment">+</button>
</div>

That's it! Your component is reactive and ready to use.

Why Diffyne?

Traditional server-side rendering sends full HTML on every interaction. Diffyne uses a Virtual DOM diff engine to send only the changes, making your applications faster and more responsive.

Before (Traditional):

  • User clicks button
  • Server sends 5KB HTML response
  • Browser replaces entire component

With Diffyne:

  • User clicks button
  • Server sends 50 bytes patch
  • Browser updates only changed text node

Result: 70-95% smaller payloads, faster updates, better UX.

What You Can Build

  • Forms with real-time validation
  • Dashboards with live data updates
  • Search with instant results
  • Interactive UIs without writing JavaScript
  • Real-time apps with WebSocket support

Ready to get started? Read the guide →