Shared publicly  - 
 
LiveReload 1.5 status update: Node.js + Cocoa = ♥

I think I found the right UI architecture which allows to have clean & nice UI code on the Node side and keep the native side to an absolute minimum. LiveReload can now display the project list again (duh).

My approach is to put controller/model stuff inside the backend (Node), run views natively and automatically wire up most of the connections between the two (with zero native code).

Moreover, I use application-rooted JSON payloads for all UI communication, something like { '#mainwindow': { '#addProjectButton': { 'enabled': false } } }. This allows the controller code to be written in terms of incoming and outgoing streams of JSON updates, which is great for inspection, testing and general understanding.

(Oh, did I say this will be extracted as a NodeApp framework for use in other apps?)

The relevant parts of the current code and a more detailed explanation is here: https://gist.github.com/2506111 (and of course in the main repository, nodejs branch). While the general architecture of the native side is complete, the backend is currently as raw as it can get. I do have some great ideas on that, but it has to wait until tomorrow.
2
1
Add a comment...