• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Building Desktop RIAs with JavaScript and PHP - ZendCon09
 

Building Desktop RIAs with JavaScript and PHP - ZendCon09

on

  • 4,419 views

Web runtimes like Adobe AIR, Titanium and webOS open up interesting possibilities for web developers, allowing them to leverage their existing skills to develop desktop applications. Aimed at current ...

Web runtimes like Adobe AIR, Titanium and webOS open up interesting possibilities for web developers, allowing them to leverage their existing skills to develop desktop applications. Aimed at current PHP developers, this talk will focus on common web application technologies - PHP, HTML, Javascript - and explore how to utilize them to create desktop "Rich Internet Applications."

Statistics

Views

Total Views
4,419
Views on SlideShare
4,402
Embed Views
17

Actions

Likes
1
Downloads
43
Comments
0

1 Embed 17

http://www.slideshare.net 17

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

    Building Desktop RIAs with JavaScript and PHP - ZendCon09 Building Desktop RIAs with JavaScript and PHP - ZendCon09 Presentation Transcript

    • Building Desktop RIAs with PHP and JavaScript Ed Finkler • funkatron.com • @funkatron ZendCon 09 • #thistalksucks
    • What to expect This is mainly a JavaScript talk jQuery framework for JS examples But we talk about PHP on the server and the desktop, too This is mainly a desktop app dev talk Diffs between server app dev and desktop app dev Examples of desktop app <-> server app interaction
    • Web runtimes A browser engine environment used for building "local" apps
    • Current web runtimes AIR (adobe.com/go/air) Desktop Titanium (appcelerator.com) Desktop Mobile Palm webOS (developer.palm.com) Mobile
    • We'll use AIR & Titanium But others bear examination
    • JavaScript on the Desktop Can use (almost) any available JS libs/frameworks No cross-domain restrictions security restrictions in app sandbox (AIR only)
    • Desktop vs Server-side PHP stack is built up/torn down every time mem leaks not much of an issue exec time < a few seconds max almost always synchronous calls Desktop apps are persistent exec time can be hours or days mem leaks a HUGE issue lots of asynchronous calls
    • JavaScript frameworks Some stuff in JS SUCKS without a framework Lots of choices
    • jQuery pwnz yoo jQuery is teh awesome (for some stuff) but you can use anything
    • PHP is your server-side buddy PHP tubby jedi master JavaScript hyper frontman Use 5.2 at least (you are, right?) adds native JSON encoding/decoding
    • PHP talking to JS Desktop Serve data structures instead of HTML Use JSON Use JSON USE JSON do not use XML (if you can avoid it) set the correct mime type (application/json)
    • Example 1: PHP duz yer math Async calls using jQuery AJAX methods Communicate via JSON Flash Zee Cloud web server Webkit
    • Example 2: PHP 'shops yer pics Uploading via Flash APIs JSON based communication Flash Zee Cloud web server Webkit
    • PHP & jQuery: THE UNHOLY UNION Only works in Titanium Desktop (0.7 or higher) Also doable with Ruby and Python PHP support in Titanium is still a work in progress
    • Additional resources Adobe AIR for JavaScript Developers Pocketguide http://www.tostring.org/ Developing Adobe® AIR™ Applications with HTML and Ajax http://short.ie/ggd9tc Titanium http://appcelerator.com http://codestrong.com Titanium Forums http://short.ie/d4ponk Searchatron Source http://short.ie/g9z6qt
    • Additional resources DearZend.com source http://github.com/funkatron/dearzend-server http://github.com/funkatron/dearzend-client Spaz Desktop Source http://code.google.com/p/spaz/ Spaz webOS Source http://github.com/funkatron/spaz-webos/ SpazCore http://github.com/funkatron/spazcore
    • Questions? @funkatron • funkatron.com • joind.in/922