Manny pacquiao the champ by aidal d4rgdjy

Exploring PakyowNovember 24, 2015

Pakyow is a fascinating realtime Ruby framework that uses data binding and websockets to keep views in sync with the data they represent. I haven't worked with other realtime Ruby frameworks (like Volt) yet so I can't compare, but my impression is that many of them re-render the page on the server and push it to the client (browser) whereas Pakyow just makes all of the changes server-side to alter objects that are bound to front end elements, updating the state of those front-end elements in realtime using websockets. This has the benefit of keeping the DOM intact as opposed to re-rendering it. Also you're not writing ruby on the front end (via a JavaScript compiler like Opal), and while I haven't had the chance to benchmark it yet, my anecdotal impression is that the performance improvements of Pakyow's approach are substantial.

Pakyow is also designed to degrade gracefully so if websockets stop working correctly or even JavaScript altogether your web app will still function, changes just won't happen in realtime.

I'm extremely excited about the possibilities of the framework. I can tell that I'm going to love the realtime functionality and it seems like the interface is fairly elegant as well but my impressions is that it will be a somewhat steep learning curve. The docs are good and cover a lot of functionality, but in my personal opinion they don't seem to be organized in a logical way to help ramp up a beginner and get them familiar with the framework and interfaces. In this post I'll be documenting things I find helpful or interesting as I dive in and learn Pakyow.

Notes

Access Mutables you've created with the data(:scope) method