Upload
abu-ashraf-masnun
View
1.622
Download
0
Embed Size (px)
DESCRIPTION
My talks on the phpXperts seminar 2010 :)
Citation preview
Desktop Apps with Web Techs
Abu Ashraf MasnunBusiness student, Web Developer,
Tech addict!
So, what’s it all about?
Use Web technologies
Develop Cross OS
Apps
Use Existing Skill set
Desktop Apps
Netbeans Firefox VLC
MS Office Photoshop Winzip
Web Apps
Gmail Facebook Twitter
Miproapps WordPress Bing
Common Web Technologies
HTML CSSJavascrip
t
960.gs jQuery
And Others….
PHP
Available Tool Kits
Tool Operating System
Winbinder Windows Only
PHP-GTK Cross OS
Titanium App Accelerator Cross OS
Adobe AIR Cross OS
Available Tool Kits
Tool Technology
Winbinder PHP Only
PHP-GTK PHP Only
Titanium App Accelerator
Python, PHP & HTML + CSS + JS
Adobe AIR HTML + CSS + JS, Flex
Available Tool Kits
•Access to Win32 APIs •Good for Windows Apps
Winbinder:
Available Tool Kits
•Looks Bad on Mac• Project is almost dead
PHP-GTK:
Available Tool Kits
• Buggy on Linux• Complex Packaging
Titanium:
Available Tool Kits
• Easy to pick up• Runs fine on All OS
Adobe AIR:
Adobe AIR Hall of Fame!
What do we need?
AIR SDK
AIR RuntimeBasic Knowledge in web
dev.Let’s get started…
What do we build?
The Workflow
Setup the environmentDesign the UI with HTML and
CSSAdd Interaction with Javascript
Pack it up!
Yes, it’s that simple!
Setting Up The Environment
Download the SDK
Extract the ZIP file
Add the “bin” directory to System Path
Windows Linux Mac
Create a project directory
<body align="center">
<input type="button" onClick="javascript:alert('hello experts!')“value="Click me!" style="margin-top:150px;">
</body>
The HTML!Index.html
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/1.5"> <id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo</filename>
<initialWindow> <content>index.html</content> <title>AIR Demo</title> <visible>true</visible> <width>350</width> <height>450</height>
</initialWindow></application>
The Descriptor!Descriptor.xml
XNOT FOR READING!
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/1.5"> <id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo - phpXperts</filename>
<initialWindow> <content>index.html</content> <title>AIR Demo - GTN</title> <visible>true</visible> <width>350</width> <height>450</height>
</initialWindow></application>
The Descriptor!Descriptor.xml
<application xmlns="http://ns.adobe.com/air/application/1.5">
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/1.5"> <id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo - phpXperts</filename>
<initialWindow> <content>index.html</content> <title>AIR Demo - GTN</title> <visible>true</visible> <width>350</width> <height>450</height>
</initialWindow></application>
The Descriptor!Descriptor.xml
<id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo</filename>
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/1.5"> <id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo - phpXperts</filename>
<initialWindow> <content>index.html</content> <title>AIR Demo - GTN</title> <visible>true</visible> <width>350</width> <height>450</height>
</initialWindow></application>
The Descriptor!Descriptor.xml
<initialWindow><content>index.html</content>
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/1.5"> <id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo - phpXperts</filename>
<initialWindow> <content>index.html</content> <title>AIR Demo - GTN</title> <visible>true</visible> <width>350</width> <height>450</height>
</initialWindow></application>
The Descriptor!Descriptor.xml
<title>AIR Demo</title> <visible>true</visible>
<width>350</width>
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://ns.adobe.com/air/application/1.5"> <id>phpXperts.air.demo</id> <version>0.1</version> <filename>AIR Demo - phpXperts</filename>
<initialWindow> <content>index.html</content> <title>AIR Demo - GTN</title> <visible>true</visible> <width>350</width> <height>450</height>
</initialWindow></application>
The Descriptor!Descriptor.xml
<height>450</height> </initialWindow>
</application>
Pack it up!
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx
samplePassword
Generate Key
Pack it up!
adt -package -storetype pkcs12 -keystore demo.air
descriptor.xml index.html
Bundle it!
Say Hello!
Hall of Fame!
?!? What’s on your mind ?