ajax world west
TRANSCRIPT
Revving Google App Enginewith Appcelerator
Rich Internet Applications on Google’s elasticinfrastructure
Revving Google App EngineWhere we’re going:• What is RIA and why do we care?• What is Google App Engine, and why do we
care?• Approaches to doing RIA• Appcelerator’s approach to RIA• App Engine integration• Demo• Q & A
What is an RIA and why do I care?Rich Internet Applications:• Fluid and engaging user interface• Asynchronous data access (UI remains
responsive)• Desktop-like interactivity in the web browser
Why you care:• Users stay on a web site longer• Users will visit a web site more often• Users will buy what we’re selling and
recommend that others do the same
What is GAE and why do I care?Google App Engine:• Managed elastic and scalable infrastructure• Easy deployment and monitoring• Platform services (authentication, e-mail,
persistence)
Why you care:• Eases scaling and deployment pain points• “Outsourcing” production deployment details
reduces time to market and allows our user baseto expand rapidly
Put them together…• Appcelerator reduces pain of RIA development• App Engine reduces pain of RIA deployment• Major time savings – finish that book you’re
working on?
<shameless-plug> </shameless-plug>
RIA Development Approaches• MVC plus Ajax• Intermediate JavaScript “Compilers”• Browser Plug Ins
MVC Plus Ajax• MVC web framework (Django, Ruby on Rails,
Web Work)• JavaScript and third party JavaScript toolkits
Pros:• Lots of good frameworks• Accessibility of the browser
Cons:• UI state on the server• Chatty with the server• Not naturally eventdriven• Browser not designedfor apps
Intermediate JavaScript“Compilers”• Abstract JavaScript from developer• Write UI in a different syntax than HTML and
JavaScript
Pros:• Insulates from browserissues• Better syntax and tooling?
Cons:• Working with designers• Abandoning web-basedskill sets (HTML, CSS)• Syntax and tooling?
Browser Plug Ins• Abstract away the browser• Provide a more consistent runtime and
development environment
Pros:• Insulates from browserissues• Good design tools• Better syntax and tooling?• Powerful runtimeenvironment (e.g. Flash,Silverlight)
Cons:• Lose browseraccessibility• More code• Less available skill sets• Proprietary tech orstandards
OK, but really we want to…• Do fluid, event driven UI• Not have to worry too much about browser quirks• Maintain the reach of the browser• Continue to use our HTML design and programming skillsets• Reduce the amount of UI and glue code we write to doasynchronous server communication, DOM manipulation,and event handling
Enter Appcelerator…• Event publish and subscribe baked in• Keep writing HTML / CSS• Significantly reduce code for commonUI tasks and data serialization
What is Appcelerator?• Open Source RIA Framework (Apache 2.0
license)• Message Oriented RIA Architecture• Client Side: JavaScript based SDK (no plug ins)• Server Side: Message routing and data
serialization
Appcelerator Web SDK• Web Expression
Language – aDSL for browser-based RIAs
• Message Broker– Handles client-side messaging
• WidgetFramework – usepre-built or wrapthird partywidgets
on [event] then[action]
Appcelerator Service Integration• Intentionally thin integration with server side logic• Data serialization and de-serialization is managed• Message routing is managed by the Service Broker
GAE Integration• Service Broker handles message routing – no need to
manually configure routes in app.yaml• Simple service-oriented programming model• “app” command wraps dev app server and deployment
tasks, and manages framework elements• One of the best Python-based web app frameworks
available
But that’s enough talk for now… Let’s check out a demo.