GithubHelp home page GithubHelp logo

neoncho / viewi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from viewi/viewi

0.0 0.0 0.0 2.89 MB

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

Home Page: https://viewi.net

License: MIT License

HTML 2.21% PHP 52.27% JavaScript 45.52%

viewi's Introduction

Viewi

Viewi

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 ?

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

Short example:

Counter.php

<?php

namespace Application\Components\Views\Demo\SimpleComponent;

use Viewi\BaseComponent;

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

    public function increment()
    {
        $this->count++;
    }
}

Counter.html

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

Use it as a tag:

<Counter />

Live demo

Requirements: php 7.4+

Supported versions will be expanded in the future

Get started

Quick Start

Features

  • 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.

Documentation

https://viewi.net/docs

Tests

Got to tests folder

Run php test.php backend

Support

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

  • 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.

License

MIT License

Copyright (c) 2020-present Ivan Voitovych

Please see LICENSE for license text

Legal

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.

viewi's People

Contributors

ivanvoitovych avatar karolinakolesnikova avatar leocavalcante avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.