PHP e o Desenvolvimento
       Mobile Web
PHPHEDERAL
                             Bruno Fernandes Pereira
• O meu apelido é PorKaria

• Criador da comunidade PHP Mobile e as das ferramentas IsMobile e PHP Qrcode Generator

• Co­fundador do PHPMS e representante no PHP Brasil Comunidades

• Sócio / Desenvolvedor da Jera Software Ágil
PHPHEDERAL
Agenda

• O que é Desenvolvimento Mobile Web

• O PHP no mundo Mobile
    • Integração Gateway (Envio de SMS)
    • Qr Code
    • Identificando o dispositivo móvel e seus recursos

• Construindo um site em versão Mobile 
    • Do Zero
    • A partir de um CMS (Wordpress, Joomla e Drupal) 
PHPHEDERAL
O que é Desenvolvimento Mobile Web ?




 “Desenvolvimento Mobile Web é desenvolver uma aplicação
que seja viável o seu acesso via browser de um dispositivo
                          móvel”
PHPHEDERAL
Integração Gateway (Envio de SMS)



Hoje é fácil enviar um SMS a partir da sua aplicação web, você
conta com o serviço das chamadas “integradoras”, que fazem a
         ponte entre a sua aplicação e a operadora.
PHPHEDERAL
Integração Gateway (Envio de SMS)

Para atender os requisitos dos Gateways dessas operadoras, você precisa 
entender de requisições HTTP e Web Services.


E no PHP você tem isso nativamente e de fácil uso e aprendizagem:

CURL - http://br2.php.net/manual/pt_BR/book.curl.php

SOAP - http://br2.php.net/manual/pt_BR/book.soap.php
PHPHEDERAL
Integração Gateway (Envio de SMS)

Um exemplo de código de envio de SMS por uma Integradora

    $ch = curl_init();

      curl_setopt($ch, CURLOPT_URL, “http://suaintegradora.com.br/GatewayIntegration/msgSms.do”);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
      curl_setopt($ch, CURLOPT_POST, 1);
      curl_setopt($ch, CURLOPT_POSTFIELDS, “account=teste&code=123&msg=testando&to=556799999”);

      $result = curl_exec($ch);

      curl_close($ch);
PHPHEDERAL
Qr Code


 QR Code ou Código de Barras 2D é uma matriz bi-dimensional
       que tem grande capacidade de armazenamento.
PHPHEDERAL
Qr Code – Como funciona ?
PHPHEDERAL
Qr Code

Gerando um QR Code com PHP usando a classe Image_QrCode
      <?php
           require_once("Image/QRCode.php");

           $options = array(
            "image_type" => "png",
            "module_size" => 3,
            "error_correct" => "H",
            "version" => 5,
            "output_type" => "display"
           );

           $qr = new Image_QRCode();
           $qrcode = $qr­>makeCode("PHPhederal 2010 ! awei !!!",$options);
       ?>
...se você estiver com preguiça de digitar esse código, utilize o PHP Qr Code Generator
PHPHEDERAL
Identificando o dispositivo móvel e seus recursos

 Vou apresentar duas ferramentas para resolver isso !


   IsMobile - Identificação do dispositivo móvel

   Tera-WURFL - Identificação do dispositivo móvel e seus recursos
PHPHEDERAL
Identificando o dispositivo móvel e seus recursos

 Código IsMobile


     require_once "ismobile.class.php";

     $ismobi = new IsMobile();

     if($ismobi­>CheckMobile()) {
         echo 'Your mobile device is a ' . $ismobi­>GetMobileDevice() . '? ';
     }
     else {
         echo "It isn't a mobile device...";
     }
PHPHEDERAL
Identificando o dispositivo móvel e seus recursos

 Código Tera-WURFL
   <?php
   require_once("TeraWurfl.php");

   $wurflObj = new TeraWurfl();
   $wurflObj­>GetDeviceCapabilitiesFromAgent($_SERVER['HTTP_USER_AGENT']);

   $max_width = $wurflObj­>capabilities['display']['max_image_width'];
   $max_height = $wurflObj­>capabilities['display']['max_image_height'];

        if ($max_width >= 320 && $max_height >= 360) {
              echo 'Tela maior, padrão iPhone';
        } else {
              echo 'Telas menores, smartphones';
        }
   ?>
PHPHEDERAL
Construindo um Site Mobile ­ Do Zero !



  Não! Você não vai precisar aprender novas linguagens, técnicas,
   mágicas e fazer um despacho. É praticamente o mesmo HTML,
             CSS, Javascript e PHP que você conhece.
PHPHEDERAL
Construindo um Site Mobile ­ Do Zero !




                  Mas...
PHPHEDERAL
Construindo um Site Mobile ­ Do Zero !
 Você precisa se atualizar...

 HTML
 Você conhece tudo sobre as tags <meta>, <label>, <link> ?
 Qual DOCTYPE usar ?
 E o HTML5 ?


 CSS

 Media handheld ? Screen ?
 CSS 3 ?
 Tamanho em %, px, em ?


 Javascript
 Ajax funciona ? jQuery para Mobile (jQTouch) ?
PHPHEDERAL
A partir de um CMS ­ Wordpress

                                 Wordpress Mobile Edition

                                 http://migre.me/X6Fv
PHPHEDERAL
A partir de um CMS ­ Joomla

                              MobileJoomla!

                              http://migre.me/X6HJ
PHPHEDERAL
A partir de um CMS ­ Drupal



                   MobilePlugin

                   http://migre.me/X6NV
PHPHEDERAL
Bônus Round !
  PHP for Android

  Entrevista com o líder do projeto http://migre.me/X90U (via PHPClasses)
  Post sobre o projeto no AndroidBrasil.com http://migre.me/WEx2
  Site do projeto: http://phpforandroid.net/


  W3C mobileOK Checker

  http://validator.w3.org/mobile/


  Inspiração (Mobile Site Showcases)

  http://www.mobileawesomeness.com/
PHPHEDERAL
Comunidade




 O projeto PHP Mobile tem como objetivo auxiliar e incentivar  os desenvolvedores PHP no  desenvolvimento 
 para dispositivos móveis, disponibilizando um fórum, artigos, notícias e  ferramentas. Se você quer participar 
 e/ou contribuir com essa comunidade acesse: http://www.phpmobile.com.br       
PHPHEDERAL
Fim !


                           Dúvidas ?

        Esse slide você encontra aqui: http://www.porkaria.com.br/tag/phphederal 
PHPHEDERAL
Contato


 E­mail: porkaria@jera.com.br

 Gtalk: porkaria@gmail.com

 Blog: http://www.porkaria.com.br

 Twitter: http://twitter.com/porkaria 

PHP e o Desenvolvimento Mobile Web - PHPhederal