zedapp/zed — pull request #166 by zefhemel (2014-04-01 11:17:40+00:00)
Title: Work in progress: architect refactoring

[Architect](https://github.com/c9/architect) is a dependency injection framework for JavaScript, it works both with node.js and the browser. Obviously, we're using it in the browser.

This branch is refactoring all Zed core modules to be architect plug-ins, the reason to do so is to easily create API-compatible alternative implementations of these plug-ins that work in other environments, e.g. node-webkit or even the regular browser.

For instance:

* The window plugin for the chrome app version uses chrome-specific APIs, whereas the node-webkit one will use node-webkit specific APIs
* There will be many plugins that implement the `fs` service, e.g. the WebFS one, local one (for chrome), syncFS (chrome) and soon a local one using node.js APIs (for node-webkit)

This work is not done yet, but for those who're interested can have a look to understand how it works.