Pakyow is a framework for building modern websites and web apps. Views update in realtime to stay in sync with backend state. This is done using a traditional, backend-driven architecture, which means business logic is written once and stays on the server (write no JavaScript).
Pakyow is also designed with progressive enhancement in mind. Because views are rendered on the server, they remain accessible to users who happen to be using unsupported browsers. The realtime layer is simply disabled, while all content continues to remain accessible.
There are three core concepts you should be familiar with:
View-First Development
View-First Development is a process that enables the presentation layer of a website or web app to be built completely separate from the backend code. Read more:
Simple State Propagation
Simple State Propagation is the mechanism through which Pakyow propagates changes in state from one client to another. It prioritizes user trust and makes it easier to reason about your program. Read more:
View Transformation Protocol
The View Transformation Protocol is a way to represent view rendering as a set of instructions that can later be applied to the view template. Pakyow implements this protocol on the backend for initial rendering and in Ring for client-side rendering. Read more:
-
Install Pakyow:
gem install pakyow
-
Create a new Pakyow project from the command line:
pakyow new webapp
-
Move to the new directory and start the server:
cd webapp; pakyow server
-
You'll find your project running at http://localhost:3000!
The following resources might be handy:
Want to keep up with the latest development? Follow along:
Pakyow is released free and open-source under the MIT License.