*rsnc.js* is a client-side single page framework for rapidly developing large and complex webapps with minimal effort. All component classes follow the same basic API no matter what your widgets look like. Theming is done by simple component- and theme-specific html and css templates. UI construction can be done using just a simple [YAML][yaml_site] / [JSON][json_site] structure format, which even beginners can rapidly prototype with. For more advanced users, there is a nice [API][rsnc_api] which supports [CoffeeScript][coffeescript] and JS. ## Usage Clone this repository into the root of an RSence repository clone as 'client'. (install the [dependencies](#)) git clone git@rsence.org:rsence.git rsence git clone git@rsence.org:rsnc.git rsence/client (run your code, see [examples](#)) ## Facts *rsnc.js* is an object-oriented framework and classes are designed to be extended. The superclasses do all the difficult housekeeping for you. Client-server as well as client-client communication is done via automatic value synchronization. Interdependencies are kept at a minimum, so you don't have to worry about referencing your variables throughout various parts of your project, and `this` is practically always `this`. If you are using the [RSence][rsence_site] server, your code will automatically be built and deployed to all connected clients. This means that while developing, you can keep writing code and at each save, your browsers will refresh to show the current state of progress. Besides building the client packages and serving them, the server doesn't participate in user interface tasks. It's entirely data oriented, to keep your UI and data models cleanly separate. ## License *rsnc.js* is licensed under the [MIT license][rsnc_license]. You are encouraged to [fork it on Github][github_rsnc] and to write your own server interface to suit your needs. The [protocol][rsnc_protocol] is very simple to implement and requires just a single JSON POST listener / responder for the [data pump][data_pump]. ## More information: * [rsnc.js Website][rsnc_site] * [RSence Website](rsence_site) * `#rsence` on FreeNode [yaml_site]: http://yaml.org/ [json_site]: http://json.org/ [rsnc_api]: http://rsnc.io/api/ [coffeescript]: http://coffeescript.org [rsnc_site]: http://rsnc.io/ [rsence_site]: http://rsence.org/ [data_pump]: http://rsnc.io/data_pump/ [rsnc_protocol]: http://rsnc.io/protocol/ [github_rsnc]: https://github.com/jammi/rsnc/ [rsnc_license]: MIT-LICENSE.txt