Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Stand With Ukraine



A powerful tool for building full-stack and completely reactive web applications with PHP

Imagine Vue js or Angular but with similar user-friendly HTML templates and components but written in PHP. The application, which acts like a front-end framework and backend template engine simultaneously, renders identical contents on both sides. And you don't even need Node js. Isn't it awesome?

Works with a limited subset of PHP, but even then, it is still more than enough for building advanced web applications.

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

UI Components

Requirements: php ^7.4 || ^8.0

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, a mix of HTML and PHP
  • Generates javascript code for you
  • Web, mobile, desktop applications support (planned)
  • Does not require Node js

How does it work?

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


Discussions (Forum)

Frameworks Integration


Got to tests folder

Run php test.php backend


We all have full-time jobs and dedicate our free time to this project, and we would 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 supporting:

  • Give us a star.
  • Support me on buymeacoffee
  • Follow us on Twitter.
  • Contribute by sending pull requests.
  • Any other ideas or proposals? Please mail me
  • 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.