public
Description: JavaScript Application Framework - JS library only
Home | Edit | New

What is SproutCore?

SproutCore is an MVC web app development framework which expects the application logic to be
written in JavaScript and the app to be executed in the browser; it tends to favor the strategy
of single-page web applications which mimic desktop apps presented in a window. Interaction
with a server typically occurs only to fetch data which cannot
be served with the original page-load and to store user-supplied data in a database; typically, these interactions
are RESTful and consist of JSON.

The SproutCore application framework provides pre-built standard desktop application features like:

  • drag-and-drop
  • undo/redo
  • keyboard shortcuts
  • sophisticated user interfaces
  • localization of both text and images
  • a rich internal data model

SproutCore applications are entirely standard HTML, CSS and JavaScript; they do not require any sort of
browser plugin or runtime.

SproutCore is also a set of development tools influenced by Rails and adopting JavaScript best practices. A standard application
directory tree is auto-generated, as are models, views, and controllers. HTML is written with the erb (embedded Ruby)
templating system using helpers to generate boilerplate HTML and JavaScript for UI elements.
Testing is built-in. For deployment, the build system consolidates distributed segments of HTML, CSS, and JavaScript (and
minimizes the JavaScript) producing a small set of completely static files.

SproutCore is Server-agnostic

SproutCore applications are deployed as a directory of files: no dynamic server-side code is required. You can deliver a SproutCore application to the browser from any web server or web host without special configuration.

In addition, SproutCore can interact with any HTTP application server at runtime including Rails, Tomcat, WebObjects, and WebDav, via XHR calls. SproutCore includes out-of-the-box support for ReST-style backends that accept and receive JSON-formatted data.

SproutCore Developer Tools

To make development easy, SproutCore comes with sophisticated developer tools (written in Ruby) that make it possible to develop your SproutCore application in modular pieces that can be combined automatically by SproutCore during development, and optimized by SproutCore during deployment.

NOTE: The SproutCore developer tools are written in Ruby. SproutCore applications (what you would be writing) are written entirely in JavaScript. Nitpickers might note that the view helpers are specified in Ruby syntax (because they are calls to Ruby methods); but you
don’t have to actually understand whats going on.

Related Links

Comments

Add your own comments here.

Replaced first paragraph and added development tools paragraph. Minor elaborations. -bruml2

Last edited by sproutit, Wed Jul 09 23:57:13 -0700 2008
Home | Edit | New
Versions: