• If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Work with all your cloud files (Drive, Dropbox, and Slack and Gmail attachments) and documents (Google Docs, Sheets, and Notion) in one place. Try Dokkio (from the makers of PBworks) for free. Now available on the web, Mac, Windows, and as a Chrome extension!


Basics-Introducing SproutCore

Page history last edited by Banned User 11 years, 5 months ago


i.e. what is a cloud application


  1. Modern web browsers can be used to build fully-functional applications that have the same richness, responsiveness, and even offline capabilities as native desktop or phone apps.
    1. We call these types of applications "cloud applications" because they run business logic in the browser, but store their data in the cloud.
    2. What is a cloud app - how does it differ from web and desktop apps 
  2. SproutCore is a modern HTML5 application platform for building rich cloud applications without plugins 
    1. It includes a JavaScript framework that provides many common application functions such as data management, server interaction, property bindings, event handling and views.
    2. It also include a set of build tools that will combine your source files to produce a bundle of HTML, CSS, and JavaScript optimized for deployment on the web.
    3. SproutCore is more than just some code, it's an entire way of thinking about how you build an application for the cloud.  
      1. Cloud development is unlike traditional web or desktop development.
      2. By following the methodology described by SproutCore, you can spend a lot less time just trying to make your app work and more time building cool features. 
  3. SproutCore is open source.  
    1. SproutCore was developed at Sproutit for its line of web-based small business apps.
    2. It was open sourced so that anyone who wants to build cloud applications can avoid reinventing the wheel.
  • Since then, over 50 developers have contributed code to SproutCore.  It has been used in dozens of commercial applications including some high-profile consumer apps.
  • You can use SproutCore freely in your own apps and contribute your own features and bug fixes as well.
  • What comes in the box?
    1. SproutCore includes a JavaScript framework made up of several smaller frameworks.   It also comes with build tools
    2. Framework
      1. Runtime - provides property observing, bindings, runloops, basic object management
      2. Datastore - define your data model with a full ORM.  Includes technology to help you sync your data with the server and to stage and propagate model changes throughout your app.
      3. Foundation - provides basic web-browser specific application level functions including event handling, the view layer, routes
      4. Desktop - mostly UI features specific to desktop-style applications.  Designed to run in IE, Firefox, Safari, Chrome, Opera
      5. Mobile - UI features specific to mobile-style applications.  Designed to run in MobileSafari and other webkit-based browsers
    3. Build tools
      1. Adds many of the features common to native-style build systems to JavaScript. Including:
      2. Shared libraries and dependency management (ensuring libraries load in the right order and link correctly)
      3. Code and resource optimization
      4. A flexible Buildfile allows you to customize the build process to your liking, even adding extra build steps if needed.
      5. Unlike most build systems, the SproutCore build tools are designed to auto-detect the structure of your app and build it properly.  You will never need to create a file that lists all of the files you want to build or anything like that.
      6. Build tools are written in Ruby, but you run them from the command line.  
        1. You do not need to know any Ruby to use the build tools.
        2. When you deploy your application, it will contain only HTML, CSS, and JavaScript.  You do not need Ruby on your servers.  Only Apache (or any other static web server) is needed.
        3. If you do happen to know Ruby, you can access all of the build tools as a Ruby library.  This is an advanced technique that most people will never need to use.

    Comments (0)

    You don't have permission to comment on this page.