Nanded Call Girl Just Call 8084732287 Top Class Call Girl Service Available
A I R Presentation Dev Camp Feb 08
1. Adobe Integrate Runtime (AIR)
RIA on Desktop
Abdul Qabiz
http://linkedin.com/in/abdulqabiz
Adobe and Adobe AIR are either the registered trademark or trademark of Adobe Systems Incorporated in the United States and/or other countries.
2. Desktop Apps?
Use-cases
Desktop is still important
We still use those most of times
Some data still on Desktop
We are not always connected
Some of us are occasionally-connected
Current Issues
Smart developers moved to Web :-)
Gap between Web and Desktop
Development requires special skills
Hard to update/patch
Bandwidth costs :-)
3. Topics
Introduction
Examples
Development
SDK/IDE/Tools
Frameworks
Security
Installation/Deployment
More Examples
Q/A
7. AIR: Development
Tools
AIR SDK - compiler/debugger/packager
Aptana (Eclipse-based) for AJAX apps
Adobe FlexBuilder for Flex/Flash apps
Frameworks
No special requirement for AIR
Generally, we use these for web-apps
YUI, ExtJs, Dojo, Prototype, etc - Any AJAX
framework*
Adobe Flex Framework (Flex/Flash)
10. AIR: Security - Sandbox types
There are different sandbox types:
application
assigned to all the files in app directory
remote
Files from Internet URI
local-trusted
trusted local .swf can acces local and remote but doesn't have all AIR
privileges.
local-with-networking
local .swf (published with -use-network flag) can communicate with
remote only.
local-with-filesystem
local file (.swf, .js, .htm, etc) can read local but not remote.
11. AIR: Security - AJAX
application non-application (classic)
AIR API allowed No access to AIR API
XHR - all domains XHR - same domain, can be
Limited eval () - only JSON allowed to all domains
literals Window.open (..) work in
Limited dynamic code response of user-triggered
generation event.
javascript:<code> AJAX frameworks would
innerHtml work
outerHtml CSS/frame/iframe/image
dynamic-script/script-src loading
setInterval/setTimeOut
(quot;x=4quot;, 1000)
AJAX frameworks might
break
14. AIR: Security: Sandbox Bridging
<html>
<head>
<title>UI</title>
<script type=quot;text/javascriptquot;>
var Exposed = {};
Exposed.trace = function(str) { air.trace(str); }
function doLoad() {
childSandboxBridge = Exposed;
}
</script>
</head>
<body onload=quot;doLoad();quot;>
<h3>Browser Sandbox Content</h3>
<ul>
<input type=quot;buttonquot;
onclick=quot;alert(parentSandboxBridge.readApplicationDescriptorFile())quot; value=quot;Call the
exposed function for reading application.xmlquot;/>
</ul>
</body>
</html>
15. AIR: Installation
Seamless install
installs AIR, if not found
requires Flash Player
Manual Install
download .air file and run it.
AIR needs to be installed before that.
Package AIR (the runtime) and App together?
17. AIR: Deployment
AIR apps are deployed as .air file
Created using adt (the packager)
.air files need to be digitally signed
Certificates could be:
Self-signed - created using adt
Verisign or Thawte
Badge-installer (widget for web-site)
Version (in application.xml) - choose a right scheme
Helps while updating app
18. AIR: Some best practices
Be responsible - You have more privileges
FileSystem, etc.
Try not to store sensitive data on client
If you have to, encrypt it
Structure application properly
Only keep trusted files in application sandbox
Keep UI or other files in different sandbox
Digitally sign .air files
use Verisign or Thawte certificates