Your SlideShare is downloading. ×
0
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
SproutCore GTUG
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SproutCore GTUG

1,736

Published on

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

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,736
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. SproutCore
  • 2. How can we build desktop-class applications on the web?
  • 3. • Architecture • Framework (SproutCore!) • Deployment (AppEngine!) • Demo
  • 4. How can we build desktop-class applications on the web?
  • 5. Like this...
  • 6. Not this...
  • 7. Desktop Class Means... Immediate response Rich interactions Offline mode
  • 8. Document Driven Web Server Web Browser User Business Click Logic Request Response Render Click Request Response Render
  • 9. Document Driven Document Driven Immediate Rarely Response Rich None Interactions Offline None Mode
  • 10. Ajax
  • 11. quot;3270quot; Ajax
  • 12. quot;3270quot; Ajax Web Server Web Browser User Business Initial Page Load Logic Render (Tiny bit of business logic) Click Request Response Update Page
  • 13. quot;3270quot; Ajax Document quot;3270quot; Ajax Driven Immediate Rarely Occasionally Response Rich None Some Interactions Offline None Rare Mode
  • 14. 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?
  • 15. Web Client-Server
  • 16. IMAP/POP User Business Logic
  • 17. Apache User Backend Service Business Logic
  • 18. Web Client-Server Is... JavaScript app in browser Loads data via Ajax User interaction is not bound by the server
  • 19. Document Driven Web Server Web Browser User Business Click Logic Request Response Render Click Request Response Render
  • 20. quot;3270quot; Ajax Web Server Web Browser User Business Initial Page Load Logic Render (Tiny bit of business logic) Click Request Response Update Page
  • 21. Web Client-Server Web Server Web Browser User Load JS Client Render Business Logic Click Update Page Request Response Click Update Page
  • 22. 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
  • 23. Web Client-Server
  • 24. But what about the server?
  • 25. Custom Big Rack Web Application of Servers Business Logic
  • 26. Custom Web Google Application AppEngine Business Business Logic Logic
  • 27. Google Microservice AppEngine Business Logic
  • 28. Microservice is... Thin API over cloud service Designed for speed + scale Moves business logic to the client
  • 29. Framework
  • 30. Framework Objectives Provide common applications features for free Optimize across web browsers Eliminate Glue Code Make coding fun!
  • 31. Cocoa
  • 32. SproutCore
  • 33. SproutCore is... Full MVC framework Bindings, Observing, DnD Embraces JavaScript Includes build tools Chrome, Safari, FireFox, IE7+
  • 34. JavaScript is Great! Late binding quot;Hackablequot; Object Model Closures Lambda Functions
  • 35. Demo
  • 36. + SproutCore
  • 37. Web Client-Server Web Server Web Browser User Load JS Client Render Click Update Page Request Response Click Update Page
  • 38. Google Microservice AppEngine
  • 39. sudo gem install sproutcore
  • 40. www.sproutcore.com
  • 41. SproutCore

×