Date post: | 17-Nov-2014 |
Category: |
Documents |
Upload: | kaplumbaga |
View: | 343 times |
Download: | 1 times |
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