Ben Ramsey • Zend/PHP Conference & Expo • 2 Nov 2010
Desktop Apps with PHP and Titanium
What Is Titanium?
Desktop Apps with PHP and Titanium • Ben Ramsey
Four main parts…
‣HTML/CSS/JavaScript
‣APIs
‣Language-OS bridge
‣Run-time ...
$9M in funding from
Sierra Ventures and eBay!
Using Titanium Developer
Desktop Apps with PHP and Titanium • Ben Ramsey
Installation on Linux
‣There is a known issue with the GTK libraries for T...
“Hello, World!”
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
var mainMenu = Titanium.UI.createMenu();
mainMenu.appendItem(Titanium.UI.createMenuItem("File"));
var menu = Titanium.UI.c...
Desktop Apps with PHP and Titanium • Ben Ramsey
Titanium has APIs!
‣API
‣Analytics
‣App
‣Codec
‣Database
‣Desktop
‣Filesys...
PHP in Titanium
<script type="text/php">
// PHP code goes here
</script>
<script type="text/javascript">
var heading = document.getElementById("title");
heading.innerHTML = "Hello, World!";
</scr...
<script type="text/php">
$heading = $document->getElementById("title");
$heading->innerHTML = "Hello, World!";
</script>
<html>
<head>
<title>PHP Info</title>
<script type="text/php">
date_default_timezone_set('America/Chicago');
ini_set('defa...
Desktop Apps with PHP and Titanium • Ben Ramsey
PHP caveats
‣echo does not work as expected
‣Titanium state transitions (l...
The client-server
relationship does not exist.
Planet PHP Demo
Wrapping up…
Desktop Apps with PHP and Titanium • Ben Ramsey
Questions?
‣I blog at benramsey.com.
‣I tweet at @ramsey.
‣Please rate thi...
Desktop Apps with PHP and Titanium
Copyright © 2010 Ben Ramsey. Some rights reserved.
Presented on November 2, 2010 at Zen...
Desktop Apps with PHP and Titanium • Ben Ramsey
Photo Credits
‣ Titan-crystal bar from Wikimedia Commons
‣ Titanium-cylind...
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Desktop Apps with PHP and Titanium (ZendCon 2010)
Upcoming SlideShare
Loading in...5
×

Desktop Apps with PHP and Titanium (ZendCon 2010)

5,889

Published on

Appcelerator Titanium is an open source platform for developing native desktop and mobile applications using the web technologies you're familiar with. Web developers can use their skills to develop for both the Web and desktop/mobile apps. Ben Ramsey will demonstrate a simple application in Titanium Desktop, showing examples using JavaScript and PHP to power dynamic desktop applications.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,889
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
191
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Desktop Apps with PHP and Titanium (ZendCon 2010)

  1. 1. Ben Ramsey • Zend/PHP Conference & Expo • 2 Nov 2010 Desktop Apps with PHP and Titanium
  2. 2. What Is Titanium?
  3. 3. Desktop Apps with PHP and Titanium • Ben Ramsey Four main parts… ‣HTML/CSS/JavaScript ‣APIs ‣Language-OS bridge ‣Run-time shell 5
  4. 4. $9M in funding from Sierra Ventures and eBay!
  5. 5. Using Titanium Developer
  6. 6. Desktop Apps with PHP and Titanium • Ben Ramsey Installation on Linux ‣There is a known issue with the GTK libraries for Titanium Developer on Linux ‣Until there is a fix, do this after installing Titanium Developer: ‣cd ~/.titanium/runtime/linux/1.0.0 ‣rm libgobject* libgthread* libglib* libgio* 19
  7. 7. “Hello, World!”
  8. 8. <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, World!</h1> </body> </html>
  9. 9. var mainMenu = Titanium.UI.createMenu(); mainMenu.appendItem(Titanium.UI.createMenuItem("File")); var menu = Titanium.UI.createMenu(); menu.appendItem(Titanium.UI.createMenuItem("Quit", function() { if (confirm("Are you sure you want to quit?")) { Titanium.App.exit(); } })); mainMenu.getItemAt(0).setSubmenu(menu); Titanium.UI.currentWindow.menu = mainMenu;
  10. 10. Desktop Apps with PHP and Titanium • Ben Ramsey Titanium has APIs! ‣API ‣Analytics ‣App ‣Codec ‣Database ‣Desktop ‣Filesystem ‣JSON ‣Media ‣Network ‣Notification ‣Platform ‣Process ‣UI ‣UpdateManager ‣Worker 27
  11. 11. PHP in Titanium
  12. 12. <script type="text/php"> // PHP code goes here </script>
  13. 13. <script type="text/javascript"> var heading = document.getElementById("title"); heading.innerHTML = "Hello, World!"; </script>
  14. 14. <script type="text/php"> $heading = $document->getElementById("title"); $heading->innerHTML = "Hello, World!"; </script>
  15. 15. <html> <head> <title>PHP Info</title> <script type="text/php"> date_default_timezone_set('America/Chicago'); ini_set('default_charset', 'utf8'); ini_set('display_errors', 'Off'); function getPhpInfo() { ob_start(); phpinfo(); return ob_get_clean(); } </script> </head> <body style="background-color: white; padding: 10px;"> <script type="text/php"> $document->write('<pre>' . getPhpInfo() . '</pre>'); </script> </body> </html>
  16. 16. Desktop Apps with PHP and Titanium • Ben Ramsey PHP caveats ‣echo does not work as expected ‣Titanium state transitions (links) do not send requests ‣Pre-processed scripts (.php) are processed at compile/build time ‣Cannot inject classes defined in .php into runtime code with include/ require 36
  17. 17. The client-server relationship does not exist.
  18. 18. Planet PHP Demo
  19. 19. Wrapping up…
  20. 20. Desktop Apps with PHP and Titanium • Ben Ramsey Questions? ‣I blog at benramsey.com. ‣I tweet at @ramsey. ‣Please rate this presentation at joind.in/2259. ‣Get the source code for my examples at GitHub. ‣Find out more about Titanium at appcelerator.com. ‣My company is Moontoast. Check us out at moontoast.com. Follow us on Twitter and like us on Facebook. 40
  21. 21. Desktop Apps with PHP and Titanium Copyright © 2010 Ben Ramsey. Some rights reserved. Presented on November 2, 2010 at Zend/PHP Conference and Expo, Hyatt Regency Hotel, Santa Clara, CA. This work is licensed under a Creative Commons Attribution- Noncommercial-No Derivative Works 3.0 United States License. For uses not covered under this license, please contact the author.
  22. 22. Desktop Apps with PHP and Titanium • Ben Ramsey Photo Credits ‣ Titan-crystal bar from Wikimedia Commons ‣ Titanium-cylinder from Wikimedia Commons ‣ Apollo 17 full Earth photograph from NASA/Goddard Space Flight Center Scientific Visualization Studio ‣ titanium cylinder, GRADE 2 quality from Wikimedia Commons ‣ Surface of a compressed cylinder of titanium from High-Res Images of Chemical Elements ‣ Guggenheim Museum Bilbao from Wikimedia Commons 42
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×