building desktop rias with javascript and php - zendcon09

Post on 13-May-2015

3.150 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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."

TRANSCRIPT

Building Desktop RIAs with PHP and JavaScriptEd Finkler • funkatron.com • @funkatronZendCon 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 runtimesAIR (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

PHPtubby jedi master

JavaScripthyper frontman

PHP is your server-side buddy

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 JSONdo 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

Zee Cloudweb server

Webkit

Flash

Example 2:PHP 'shops yer pics

Uploading via Flash APIs

JSON based communication

Zee Cloudweb server

Webkit

Flash

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

PHP & jQuery:THE UNHOLY UNION

Additional resourcesAdobe AIR for JavaScript Developers Pocketguidehttp://www.tostring.org/

Developing Adobe® AIR™ Applications with HTML and Ajaxhttp://short.ie/ggd9tc

Titaniumhttp://appcelerator.comhttp://codestrong.com

Titanium Forumshttp://short.ie/d4ponk

Searchatron Sourcehttp://short.ie/g9z6qt

Additional resourcesDearZend.com sourcehttp://github.com/funkatron/dearzend-serverhttp://github.com/funkatron/dearzend-client

Spaz Desktop Sourcehttp://code.google.com/p/spaz/

Spaz webOS Sourcehttp://github.com/funkatron/spaz-webos/

SpazCorehttp://github.com/funkatron/spazcore

Questions?@funkatron • funkatron.com • joind.in/922

top related