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.

top related