Ajax World West
-
Upload
rajivmordani -
Category
Technology
-
view
329 -
download
0
Transcript of Ajax World West
![Page 1: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/1.jpg)
Revving Google App Enginewith Appcelerator
Rich Internet Applications on Google’s elasticinfrastructure
![Page 2: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/2.jpg)
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
![Page 3: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/3.jpg)
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
![Page 4: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/4.jpg)
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
![Page 5: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/5.jpg)
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>
![Page 6: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/6.jpg)
RIA Development Approaches• MVC plus Ajax• Intermediate JavaScript “Compilers”• Browser Plug Ins
![Page 7: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/7.jpg)
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
![Page 8: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/8.jpg)
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?
![Page 9: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/9.jpg)
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
![Page 10: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/10.jpg)
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
![Page 11: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/11.jpg)
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
![Page 12: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/12.jpg)
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]
![Page 13: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/13.jpg)
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
![Page 14: Ajax World West](https://reader034.fdocuments.us/reader034/viewer/2022052507/558e9df01a28ab4d528b466d/html5/thumbnails/14.jpg)
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.