SproutCore GTUG
Upcoming SlideShare
Loading in...5
×
 

SproutCore GTUG

on

  • 2,787 views

Presentation at Silicon Valley GTUG meetup @ Google. Slides 25-28 introduce microservices.

Presentation at Silicon Valley GTUG meetup @ Google. Slides 25-28 introduce microservices.

Statistics

Views

Total Views
2,787
Views on SlideShare
2,758
Embed Views
29

Actions

Likes
1
Downloads
24
Comments
0

5 Embeds 29

http://www.linkedin.com 12
http://www.slideshare.net 9
https://www.linkedin.com 4
http://www.techgig.com 3
http://www.lmodules.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SproutCore GTUG SproutCore GTUG Presentation Transcript

  • SproutCore
  • How can we build desktop-class applications on the web?
  • • Architecture • Framework (SproutCore!) • Deployment (AppEngine!) • Demo
  • How can we build desktop-class applications on the web?
  • Like this...
  • Not this...
  • Desktop Class Means... Immediate response Rich interactions Offline mode
  • Document Driven Web Server Web Browser User Business Click Logic Request Response Render Click Request Response Render
  • Document Driven Document Driven Immediate Rarely Response Rich None Interactions Offline None Mode
  • Ajax
  • quot;3270quot; Ajax
  • quot;3270quot; Ajax Web Server Web Browser User Business Initial Page Load Logic Render (Tiny bit of business logic) Click Request Response Update Page
  • quot;3270quot; Ajax Document quot;3270quot; Ajax Driven Immediate Rarely Occasionally Response Rich None Some Interactions Offline None Rare Mode
  • Browser Advancements quot;Theyquot; say... But really... Client computers are too Most clients are as fast as slow servers 2 years ago JavaScript is too slow see v8 & SquirrelFish HTML is too limited Have you seen Safari lately?
  • Web Client-Server
  • IMAP/POP User Business Logic
  • Apache User Backend Service Business Logic
  • Web Client-Server Is... JavaScript app in browser Loads data via Ajax User interaction is not bound by the server
  • Document Driven Web Server Web Browser User Business Click Logic Request Response Render Click Request Response Render
  • quot;3270quot; Ajax Web Server Web Browser User Business Initial Page Load Logic Render (Tiny bit of business logic) Click Request Response Update Page
  • Web Client-Server Web Server Web Browser User Load JS Client Render Business Logic Click Update Page Request Response Click Update Page
  • Web Client-Server Document Web quot;3270quot; Ajax Driven Client-Server Immediate Rarely Occasionally Usually Response Rich None Some Always Interactions Offline None Rare Offline Capable Mode
  • Web Client-Server
  • But what about the server?
  • Custom Big Rack Web Application of Servers Business Logic
  • Custom Web Google Application AppEngine Business Business Logic Logic
  • Google Microservice AppEngine Business Logic
  • Microservice is... Thin API over cloud service Designed for speed + scale Moves business logic to the client
  • Framework
  • Framework Objectives Provide common applications features for free Optimize across web browsers Eliminate Glue Code Make coding fun!
  • Cocoa
  • SproutCore
  • SproutCore is... Full MVC framework Bindings, Observing, DnD Embraces JavaScript Includes build tools Chrome, Safari, FireFox, IE7+
  • JavaScript is Great! Late binding quot;Hackablequot; Object Model Closures Lambda Functions
  • Demo
  • + SproutCore
  • Web Client-Server Web Server Web Browser User Load JS Client Render Click Update Page Request Response Click Update Page
  • Google Microservice AppEngine
  • sudo gem install sproutcore
  • www.sproutcore.com
  • SproutCore