Awesome Open Source
Awesome Open Source



Powerful tool for building full-stack and completely reactive user interfaces using PHP

Imagine Vue js or Angular but in PHP world with the similar user-friendly html templates and components, the application that acts like frontend framework and backend template engine at the same time and renders identical contents on both sides. And you don't even need Node js. Isn't it awesome ?

Short example:



namespace Application\Components\Views\Demo\SimpleComponent;

use Viewi\BaseComponent;

class Counter extends BaseComponent
    public int $count = 0;

    public function increment()


<button (click)="increment()">Clicked $count times.</button>

Use it as a tag:

<Counter />

Live demo

Stage: PoC

Not production ready yet, as it's in development and still needs a lot of work

Requirements: php 7.4 or 8.0+

Supported versions will be expanded in the future

Get started

Quick Start


  • Server side rendering (SSR)
  • Perfect page load score
  • Client side rendering (CSR)
  • SEO friendly
  • No "HTML over the wire".
  • Reactive application
  • Easy to use
  • Simple templates syntax, mix of HTML and PHP
  • The same code for backend and frontend, without need to duplicate the logic in javascript.
  • Web, mobile, desktop support (planned)
  • Does not require Node js

How does it work ?

Under the hood Viewi translates view components into the javascript, and uses it for front end reactive application.



Got to tests folder Run php test.php backend


We all have full-time jobs and dedicate to this project our free time, and we would really appreciate Your help of any kind. If you like what we are creating here and want us to spend more time on this, please consider to support:

  • Become a backer or sponsor via Patreon.
  • Give us a star⭐.
  • Follow us on Twitter.
  • Contribute by sending pull requests.
  • Any other ideas or proposals ? Please mail me [email protected].
  • Feel welcome to share this project with your friends.


MIT License

Copyright (c) 2020-present Ivan Voitovych

Please see LICENSE for license text


By submitting a Pull Request, you disallow any rights or claims to any changes submitted to the Viewi project and assign the copyright of those changes to Ivan Voitovych.

If you cannot or do not want to reassign those rights (your employment contract for your employer may not allow this), you should not submit a PR. Open an issue and someone else can do the work.

This is a legal way of saying "If you submit a PR to us, that code becomes ours". 99.9% of the time that's what you intend anyways; we hope it doesn't scare you away from contributing.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (69,965
php (16,544
html (11,059
frontend (508
ssr (316
reactive (277
engine (219
full-stack (81