SproutCore - A Next Gen JavaScript Framework

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

  • + guest3cc50 guest3cc50 8 months ago
    We are very excited about SproutCore and would like to build a complex web application using SproutCore. Our goal is to build an advanced 'Thick' client browser based product to deliver a 'desktop-like' User experience. Can you recommend a strong development group who has experience with SproutCore to help us create it or could you recommend someone to act as a consultant to help us select the right offshore development team and define the requirements correctly?
    KT queenofsweettart@yahoo.com
  • + erichocean erichocean 9 months ago
    Thanks Scott! Nice introduction to SproutCore.
Post a comment
Embed Video
Edit your comment Cancel

5 Favorites

SproutCore - A Next Gen JavaScript Framework - Presentation Transcript

  1. SproutCore a next generation javascript framework
  2. What Desktop-like Apps Client Side MVC Inspired by Cocoa
  3. Why Common App Features for Free Cross-browser Optimized Glue-code Eliminated
  4. JavaScript and Proud Not trying to be Java, Ruby, Python, Obj-C
  5. Features
  6. At the code level...
  7. Properties Example: A contact’s first name Most are simple values - numbers, strings, objects Can be functions which dynamically “compute” value
  8. Observers Watch for property changes Takes some action Examples: Update view, send data to server
  9. Bindings Two objects, “bound” together When one changes, the other changes also
  10. Example The contact firstName property is bound to the textFieldView value property. When the contact’s firstName is updated, textFieldView’s value is updated automatically. When textFieldView’s value changes, the valueDidChange observer kicks in & updates the UI.
  11. Glue Code Eliminated! Controllers and views automatically stay in sync with the model objects in your application!
  12. But... there’s a small price to pay
  13. Key Value Coding Access properties with object.get(key) Set properties with object.set(key, value); This allows SproutCore to watch things change Abbreviated as “KVC”
  14. Example
  15. Computed Properties Accessed like stored properties ( with get() ) Calls a function to compute the value Declared with .property()
  16. Key Value Observing Allows Object A to observe changes to Object B How binding is able to work Abbreviated as KVO Automatic for stored (non-computed) properties Requires a little setup for computed properties...
  17. Computed Property KVO When declaring, list the attributes the computed property relies on:
  18. User Interface Features
  19. Controls SC.ListView SC.GridView
  20. Controls SC.SourceListView Form Controls
  21. Controls Split-Panes Dialogs, Pop-up Menus, Pickers Native-Controls
  22. Developer Tools
  23. Generators Generate skeletons for your application, models, views, controllers Helps you get started quickly Gives you a standard place to put things
  24. Helpers Generate your views with small, declarative helpers Similar to Ruby on Rails view helpers In fact, written in Ruby!
  25. Development Server Handles including JS files and view partials into your HTML file - less work for you. Allows change-and-refresh style development Can proxy to external website backends for server interaction.
  26. Build Tools Packages all assets into single files - 1 HTML, 1 CSS, 1 JavaScript. Minifies your JavaScript Host your app on any server or CDN - just static files
  27. Thanks Scott Becker http://synthesis.sbecker.net

+ Scott BeckerScott Becker, 9 months ago

custom

7532 views, 5 favs, 1 embeds more stats

Introduction to the core concepts of SproutCore, a more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 7532
    • 7499 on SlideShare
    • 33 from embeds
  • Comments 2
  • Favorites 5
  • Downloads 129
Most viewed embeds
  • 33 views on http://synthesis.sbecker.net

more

All embeds
  • 33 views on http://synthesis.sbecker.net

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories