Building Desktop RIAs With PHP And JavaScript
-
Upload
funkatron -
Category
Technology
-
view
2.560 -
download
3
Transcript of Building Desktop RIAs With PHP And JavaScript
Building Desktop RIAs with PHP and JavaScriptEd Finkler • funkatron.com • @funkatronphp|tek 09
What to expect
This is mainly a JavaScript talk
Compare JS and PHP
jQuery framework for JS examples
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)
Titanium (titaniumapp.com)
Palm webOS (developer.palm.com)
We'll use AIR
But others bear examination
JavaScript in AIRCan use (almost) any available JS libs/frameworks
No cross-domain restrictions
security restrictions in app sandbox ( eval() )
Access AIR APIs
Access standard Flash APIs
Use compiled AS3 libs
PHP vs JavaScript
JavaScript is fundamentally different
JS is a functional language
closures
first-order functions
Object model is totally different
PHP vs JavaScript
Everything in JS is an object
Arrays are not associative – objects serve as associative array equivalents
No include/require statements available
Event-driven model/asynchronous actions
Further reading: – JavaScript: The Definitive Guide, David Flanagan – JavaScript: The Good Parts, Douglas Crockford
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
almost always asynchronous calls
JavaScript frameworks
Some stuff is a huge pain without the help of a framework
Lots of choices
Must play well with AIR
eval usage gotchas
jQuery pwnz yoo
jQuery is teh awesomebut 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 AIR
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
Example 3:DearZend.com
JSON based communication
Desktop alternative to web front-end
Zee Cloudweb server
Webkit
Flash
Additional resourcesAdobe AIR for JavaScript Developers Pocketguidehttp://www.tostring.org/
Developing Adobe® AIR™ Applications with HTML and Ajaxhttp://short.ie/ggd9tc
Titaniumhttp://titaniumapp.com/
Titanium Forumshttp://short.ie/d4ponk
Searchatron Sourcehttp://short.ie/g9z6qt
DearZend.com sourcehttp://github.com/funkatron/dearzend-serverhttp://github.com/funkatron/dearzend-client
Questions?@funkatron • http://funkatron.com • joind.in/198