SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
HTML5 E PHP

  Mariano Fiorentino
   Co-fondatore PUG Torino

Architetto ICT ENGINEERING.IT
Cos'è Html5
L' HTML5 è un linguaggio di markup
sviluppato dal W3C.
Nonostante sia una tecnologia in fase di
consolidamento è possibile sviluppare
prodotti web e mobile di una certa
efficacia dal punto di vista
dell'esperienza utente, mantenendo la
portabilità classica di un'applicazione
basata su css/js/html.
Cosa ci da Html5

●   Nuovi tags
●   Nuove librerie native javascript
●   Nuove funzionalità per definire una
    WebApp
Nuovi Tags
●   video
    permette di eseguire lo streaming di
    video attraverso un player nativo senza
    usare flash

●   canvas
    crea un area dove poter “disegnare” in
    2d/3d attraverso delle librerie native
Il Tag Canvas
<canvas id='canvasId'></canvas>

<script type='text/javascript'>

   var obj = document.getElementById('canvasId');
   context = obj.getContext('2d');
   context.strokeStyle = "#000000";
   context.beginPath();
   // X, Y, raggio startAngolo, endAngolo, orientamento
   context.arc(200,200,50,0,Math.PI*2,true);
   context.closePath();
   context.stroke();
   context.fill();
Nuove librerie
                           javascript

●   Databases SQLite locali al browser:
    var db = openDatabase ();

●   Web socket per interazioni client/server
    in realtime:
    var socket = new WebSocket(host);
Architettura di una
                    WebApp




BROWSER
Il manifest
Il manifest presenta la lista delle risorse
dichiarate locali alla WebApp, e che
verranno servite direttamente dalla
cache del browser.


L'aggiornamento di queste risorse
salvate nella cache del browser viene
gestito da apposite librerie native.
Il manifest
<?php
header('Content-Type: text/cache-manifest');
echo "CACHE MANIFESTn";
echo "#VERSION 95n";
echo "CACHE:n";
?>
/appl/IPadConf/css/IPadConf.css
/attachments/sencha/sencha-touch.js
/appl/IPadConf/index.html
Aggiornamento della
                            webapp
var webappCache = window.applicationCache;
function updateCache() {
    webappCache.update();
    webappCache.swapCache();
    document.location.reload(true);
}
// webappCache.status indica la possibilità di
//un aggiornamento
webappCache.addEventListener("updateready",
updateCache, false);
L'interazione lato
                    server con PHP


Creare una WebApp Html5 ci permette di
comunicare con PHP facendoci restituire
solo i dati eliminando tutte le logiche di
impaginazione e navigazione.
Quello che passiamo
               alla webapp sono i dati
class AppController extends Zend_Controller_Action {

    public function modelsAction() {....}
    public function versionsAction() {....}
    public function manifestAction() {....}

    // Poi va fatto il json encode nella view...
    // echo $this->json ($this->data);
    public function optionalsAction()
    {
        $this->data = DataSource::findOptionalCollection();
    }
}
Sincronizzazione del
                     catalogo prodotti
// Creo via batch un json del catalogo prodotti
public function catalogueAction()
{
      $fd = fopen ($filename, 'a');
     if ($fd) {

        $this->data = fread ($fd, filesize($filename));
        fclose($fd);
     } else {

         $this->data = DataSource::findAllData();
     }
}
E posso salvare i dati
                     sul Db del browser...
var ajax = Ext.Ajax.request({

      url : '/appl/IPadConf/server.php' ,
      params : params,
      success: function( result, request ) {
        db.transaction(

            function(transaction) {

                transaction.executeSql('UPDATE TABLE ....',
                   [data.ACTION, data....]
                );
            }
       );
});
Un configuratore per
          FIAT Auto
Documentazione e
                       risorse
Specifiche:
http://dev.w3.org/html5/markup/spec.html


Framework html5:
http://www.sencha.com/products/touch


Esempi di applicazioni:
http://www.chromeexperiments.com
Domande?




mariano.fiorentino@gmail.com

Mais conteúdo relacionado

Destaque (20)

Cuenca y provincia (1)
Cuenca y provincia (1)Cuenca y provincia (1)
Cuenca y provincia (1)
 
7. student support presentation
7. student support presentation7. student support presentation
7. student support presentation
 
Uc lan prospectus march 2013
Uc lan prospectus march 2013Uc lan prospectus march 2013
Uc lan prospectus march 2013
 
Ne bougez plus_et_regardez
Ne bougez plus_et_regardezNe bougez plus_et_regardez
Ne bougez plus_et_regardez
 
Menu especial
Menu especialMenu especial
Menu especial
 
Insolitesvol (1)
Insolitesvol (1)Insolitesvol (1)
Insolitesvol (1)
 
Kenya adriana-
Kenya  adriana-Kenya  adriana-
Kenya adriana-
 
Concerto para los_amigos
Concerto para los_amigosConcerto para los_amigos
Concerto para los_amigos
 
Alcazar of seville lia - vu
Alcazar of seville   lia - vuAlcazar of seville   lia - vu
Alcazar of seville lia - vu
 
Vaya fotos
Vaya fotosVaya fotos
Vaya fotos
 
+ Taormina sicilia
+ Taormina sicilia+ Taormina sicilia
+ Taormina sicilia
 
1. rector's welcome
1. rector's welcome1. rector's welcome
1. rector's welcome
 
Alleluia
AlleluiaAlleluia
Alleluia
 
Sirtakiss r
Sirtakiss rSirtakiss r
Sirtakiss r
 
Diario de potter
Diario de potterDiario de potter
Diario de potter
 
B bmed sc_presentation_(shorter)
B bmed sc_presentation_(shorter)B bmed sc_presentation_(shorter)
B bmed sc_presentation_(shorter)
 
+ Taormina sicilia
+ Taormina sicilia+ Taormina sicilia
+ Taormina sicilia
 
Case study-edith-cowan-university
Case study-edith-cowan-universityCase study-edith-cowan-university
Case study-edith-cowan-university
 
Sevilla embrujada
Sevilla embrujadaSevilla embrujada
Sevilla embrujada
 
Diario de potter
Diario de potterDiario de potter
Diario de potter
 

Semelhante a Html5 e PHP

Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Pietro Polsinelli
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012Crismer La Pignola
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS DevicesAndrea Picchi
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client Sabino Labarile
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue jsGianfranco Castro
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroAndrea Dottor
 
How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript Stefano Marchisio
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con ScalaFranco Lombardo
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012Andrea Dottor
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Fabrizio Bernabei
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the WebClaudio Gandelli
 

Semelhante a Html5 e PHP (20)

Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
Laravel Framework PHP
Laravel Framework PHPLaravel Framework PHP
Laravel Framework PHP
 
Yagwto
YagwtoYagwto
Yagwto
 
Le novita di visual studio 2012
Le novita di visual studio 2012Le novita di visual studio 2012
Le novita di visual studio 2012
 
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
Corso WebApp iOS - Lezione 06:   Web Development for iOS DevicesCorso WebApp iOS - Lezione 06:   Web Development for iOS Devices
Corso WebApp iOS - Lezione 06: Web Development for iOS Devices
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client
 
Creazione componenti con Vue js
Creazione componenti con Vue jsCreazione componenti con Vue js
Creazione componenti con Vue js
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 
How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Linuxday2013
Linuxday2013 Linuxday2013
Linuxday2013
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13
 
Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010Asp.net 4 Community Tour VS2010
Asp.net 4 Community Tour VS2010
 
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
 

Html5 e PHP

  • 1. HTML5 E PHP Mariano Fiorentino Co-fondatore PUG Torino Architetto ICT ENGINEERING.IT
  • 2. Cos'è Html5 L' HTML5 è un linguaggio di markup sviluppato dal W3C. Nonostante sia una tecnologia in fase di consolidamento è possibile sviluppare prodotti web e mobile di una certa efficacia dal punto di vista dell'esperienza utente, mantenendo la portabilità classica di un'applicazione basata su css/js/html.
  • 3. Cosa ci da Html5 ● Nuovi tags ● Nuove librerie native javascript ● Nuove funzionalità per definire una WebApp
  • 4. Nuovi Tags ● video permette di eseguire lo streaming di video attraverso un player nativo senza usare flash ● canvas crea un area dove poter “disegnare” in 2d/3d attraverso delle librerie native
  • 5. Il Tag Canvas <canvas id='canvasId'></canvas> <script type='text/javascript'> var obj = document.getElementById('canvasId'); context = obj.getContext('2d'); context.strokeStyle = "#000000"; context.beginPath(); // X, Y, raggio startAngolo, endAngolo, orientamento context.arc(200,200,50,0,Math.PI*2,true); context.closePath(); context.stroke(); context.fill();
  • 6. Nuove librerie javascript ● Databases SQLite locali al browser: var db = openDatabase (); ● Web socket per interazioni client/server in realtime: var socket = new WebSocket(host);
  • 7. Architettura di una WebApp BROWSER
  • 8. Il manifest Il manifest presenta la lista delle risorse dichiarate locali alla WebApp, e che verranno servite direttamente dalla cache del browser. L'aggiornamento di queste risorse salvate nella cache del browser viene gestito da apposite librerie native.
  • 9. Il manifest <?php header('Content-Type: text/cache-manifest'); echo "CACHE MANIFESTn"; echo "#VERSION 95n"; echo "CACHE:n"; ?> /appl/IPadConf/css/IPadConf.css /attachments/sencha/sencha-touch.js /appl/IPadConf/index.html
  • 10. Aggiornamento della webapp var webappCache = window.applicationCache; function updateCache() { webappCache.update(); webappCache.swapCache(); document.location.reload(true); } // webappCache.status indica la possibilità di //un aggiornamento webappCache.addEventListener("updateready", updateCache, false);
  • 11. L'interazione lato server con PHP Creare una WebApp Html5 ci permette di comunicare con PHP facendoci restituire solo i dati eliminando tutte le logiche di impaginazione e navigazione.
  • 12. Quello che passiamo alla webapp sono i dati class AppController extends Zend_Controller_Action { public function modelsAction() {....} public function versionsAction() {....} public function manifestAction() {....} // Poi va fatto il json encode nella view... // echo $this->json ($this->data); public function optionalsAction() { $this->data = DataSource::findOptionalCollection(); } }
  • 13. Sincronizzazione del catalogo prodotti // Creo via batch un json del catalogo prodotti public function catalogueAction() { $fd = fopen ($filename, 'a'); if ($fd) { $this->data = fread ($fd, filesize($filename)); fclose($fd); } else { $this->data = DataSource::findAllData(); } }
  • 14. E posso salvare i dati sul Db del browser... var ajax = Ext.Ajax.request({ url : '/appl/IPadConf/server.php' , params : params, success: function( result, request ) { db.transaction( function(transaction) { transaction.executeSql('UPDATE TABLE ....', [data.ACTION, data....] ); } ); });
  • 15. Un configuratore per FIAT Auto
  • 16. Documentazione e risorse Specifiche: http://dev.w3.org/html5/markup/spec.html Framework html5: http://www.sencha.com/products/touch Esempi di applicazioni: http://www.chromeexperiments.com