SlideShare a Scribd company logo
1 of 27
Download to read offline
<?php4android: desenvolva
aplicações android em PHP

  {   Ramon Ribeiro Rabello
      ramon.rabello@gmail.com @ramonrabello
Ñ   Ramon Ribeiro Rabello!
     Ñ   Engenheiro de Software pela Cobra Tecnologia
     Ñ   Mais um membro da comunidade @tasafo
     Ñ   Um evangelista de Android no Brasil
     Ñ   Colunista da revista WebMobile (DevMedia
         Group)
     Ñ   Um dos líderes do projeto Andromeda
         apresentado durante o DroidCon ’09 (Berlim,
         Alemanha)
     Ñ   Mestrando pelo CIn-UFPE (projeto ORCAS)




Eu sou...
Olá, eu me
chamo Android!
Fui construído
em Novembro
   de 2007.
Sou a 1ª
  plataforma
     móvel
totamente open
    source!
Fui considerado a
estréia da Google
    na área de
desenvolvmento
      móvel.
Além de um
   Sistema
Operacional, sou
   um SDK.
Forneço vários
     serviços
integrados em um
     só lugar!
Já sou a 3ª
plataforma móvel
mais utilizada no
     mundo.
Sou a maior
   dor de
 cabeça do
   Steve.
Fala aê,
                                galera!

  Mas não faço o
trabalho sozinho,   Servidos?
   tenho ajuda
    destes dois
   carinhas aí...
Quer saber como
 eu funciono?
Android Facades


                      AndroidFacade


                      CameraFacade


                   CommonIntentsFacade


                        UIFacade


                      SensorsFacade


                 ApplicationManagerFacade




Software Layer for Android (SL4A)
PFA: PHP for Android
<?php
require_once(“Android.php”);
$android = new Android();
$android->viewContacts();




exemplo: contatos.php
/* package & imports */
public class ChamadaActivity extends Activity {

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        Uri uri = ContactsContract.Contacts.CONTENT_URI;
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
    }
}




exemplo: ContatosActivity.java
<?php
require_once(“Android.php”);
$android = new Android();
$android->phoneDialNumber(‘5554’);




    exemplo: chamada.php
/* package & imports */
public class ChamadaActivity extends Activity {

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);

        Uri uri = Uri.parse(“tel:5554”);
        Intent intent = new Intent(Intent.ACTION_DIAL, uri);
        startActivity(intent);
    }
}




exemplo: ChamadaActivity.java
sl4a_r0.apk

phpforandroid.apk




    Instalando SL4A e PFA
Ñ   Desenvolvimento inline (sem ferramentas, SDK, etc)

    Ñ   Para aplicações rápidas e práticas, a utilização de scripts pode ser uma
        ótima alternativa

    Ñ   Projeto Open Source! Você também pode contribuir!

    Ñ   Programadores PHP podem migrar para PFA facilmente!

    Ñ   Suporte a várias linguagens de Script:
         Ó  BeanShell
         Ó  Python
         Ó  PHP 5.3.3
         Ó  JavaScript
         Ó  Tcl/Tk
         Ó  Lua
         Ó  Rhino
         Ó  Perl



Vantagens da SL4A
Ñ   Escassez de documentação/tutoriais

     Ñ   Ainda não é possível instalar uma aplicação
         SL4A como um executável .apk




Limitações
Ñ   Jul-Ago de 2010
         Ó   Melhorar documentação e manuais.
         Ó   Script2Apk: Conversão de scripts PHP para executáveis de Android
             (.apk)

    Ñ   Set-Out de 2010
         Ó   Correção de bugs da versão 0.2
         Ó   Adição de novas bibliotecas e frameworks
         Ó   Melhoria nos docs e manuais.

    Ñ   Nov-? 2010
         Ó   Correção de bugs da versão X.X.X
         Ó   Releases suportando SL4A (antes ASE)
         Ó   Permitir carregamento de bibliotecas dinâmicas usando dl()
         Ó   Criação de um repositório de scripts ( upload + download )
         Ó   Suporte a x86 (download de zips de acordo com a arquitetura)




Roadmap do PFA
Site do Desenvolvedor
          http://developer.android.com

   Instalando o SDK + Plugin ADT (Eclipse)
  http://developer.android.com/sdk/index.html

Contribua para o desenvolvimento da plataforma!
           http://source.android.com




Saiba mais sobre Android
SL4A
  http://android-scripting.googlecode.com

                   PFA
         http://phpforandroid.net




Saiba mais sobre SL4A +
PFA
Dúvidas?
Obrigado!




     @ramonrabello
ramon.rabello@gmail.com
  tasafo.wordpress.com

More Related Content

What's hot

Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programmingelliando dias
 
Advanced Django Forms Usage
Advanced Django Forms UsageAdvanced Django Forms Usage
Advanced Django Forms UsageDaniel Greenfeld
 
Materi asj kelas xii
Materi asj kelas xiiMateri asj kelas xii
Materi asj kelas xiimakemanah
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programmingGwyneth Calica
 
Bash shell
Bash shellBash shell
Bash shellxylas121
 
C07 wireless la-ns
C07 wireless la-nsC07 wireless la-ns
C07 wireless la-nsRio Nguyen
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedPort80 Software
 
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASETutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASEThomas Gregory
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchysritolia
 
Unix Shell Scripting
Unix Shell ScriptingUnix Shell Scripting
Unix Shell ScriptingMustafa Qasim
 
Introduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSI
Introduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSIIntroduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSI
Introduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSIVarun Mahajan
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel SourceMotaz Saad
 

What's hot (20)

Application Layer and Socket Programming
Application Layer and Socket ProgrammingApplication Layer and Socket Programming
Application Layer and Socket Programming
 
Advanced Django Forms Usage
Advanced Django Forms UsageAdvanced Django Forms Usage
Advanced Django Forms Usage
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Materi asj kelas xii
Materi asj kelas xiiMateri asj kelas xii
Materi asj kelas xii
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Linux Servers
Linux ServersLinux Servers
Linux Servers
 
Soal uts pemrograman web
Soal uts pemrograman webSoal uts pemrograman web
Soal uts pemrograman web
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
Bash shell
Bash shellBash shell
Bash shell
 
C07 wireless la-ns
C07 wireless la-nsC07 wireless la-ns
C07 wireless la-ns
 
Web Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting Started
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASETutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchy
 
Common Gateway Interface ppt
Common Gateway Interface pptCommon Gateway Interface ppt
Common Gateway Interface ppt
 
Unix Shell Scripting
Unix Shell ScriptingUnix Shell Scripting
Unix Shell Scripting
 
Introduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSI
Introduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSIIntroduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSI
Introduction to GNU/Linux, Free Software, Open Source Software, FSF, FSM, OSI
 
Browsing Linux Kernel Source
Browsing Linux Kernel SourceBrowsing Linux Kernel Source
Browsing Linux Kernel Source
 
Makalah java
Makalah javaMakalah java
Makalah java
 

Viewers also liked

Desenvolvimento Mobile Web usando PHP e Software Livre
Desenvolvimento Mobile Web usando PHP e Software LivreDesenvolvimento Mobile Web usando PHP e Software Livre
Desenvolvimento Mobile Web usando PHP e Software LivreBruno Fernandes "PorKaria"
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONAmbiente Livre
 
Construindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreConstruindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreElton Minetto
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no androidAlexandre Antunes
 
Mercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplosMercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplosBruno Fernandes "PorKaria"
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasAnderson de Castro
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPDaniel Arndt Alves
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHPCezar Souza
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHPHumberto Moura
 

Viewers also liked (20)

pfa
pfapfa
pfa
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
Desenvolvimento Mobile Web usando PHP e Software Livre
Desenvolvimento Mobile Web usando PHP e Software LivreDesenvolvimento Mobile Web usando PHP e Software Livre
Desenvolvimento Mobile Web usando PHP e Software Livre
 
Desenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPARDesenvolvimento Mobile Web e PHP na FIPAR
Desenvolvimento Mobile Web e PHP na FIPAR
 
Criando Apps Sociais em Android
Criando Apps Sociais em AndroidCriando Apps Sociais em Android
Criando Apps Sociais em Android
 
Desenvolvimento Web para Android
Desenvolvimento Web para AndroidDesenvolvimento Web para Android
Desenvolvimento Web para Android
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Construindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreConstruindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software Livre
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Mercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplosMercado de trabalho de TI em números, fatos e exemplos
Mercado de trabalho de TI em números, fatos e exemplos
 
Boas Práticas em Android
Boas Práticas em AndroidBoas Práticas em Android
Boas Práticas em Android
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - Campinas
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHP
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Slides
SlidesSlides
Slides
 
Tutorial Android - Activities
Tutorial Android - ActivitiesTutorial Android - Activities
Tutorial Android - Activities
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHP
 
Variaveis Superglobais
Variaveis SuperglobaisVariaveis Superglobais
Variaveis Superglobais
 

Similar to Desenvolva aplicações Android com PHP

Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livreelliando dias
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPelliando dias
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-phpBrenno Abreu
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porteFelipe Ribeiro
 
Desenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OSDesenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OSJonathan Lamim
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLtarginosilveira
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com DockerWellington Silva
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaDiego Cavalca
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...BrunoSouza617
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency managerVitor Mattos
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework CoreRogério Moraes de Carvalho
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressRômulo Zoch
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsJúnior Porfirio
 
Drupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal Portugal
 

Similar to Desenvolva aplicações Android com PHP (20)

Desenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software LivreDesenvolvendo Aplicações com Software Livre
Desenvolvendo Aplicações com Software Livre
 
Ligação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHPLigação do Flex a um backend LAMP usando AMFPHP
Ligação do Flex a um backend LAMP usando AMFPHP
 
2290494 integrando-flex-com-php
2290494 integrando-flex-com-php2290494 integrando-flex-com-php
2290494 integrando-flex-com-php
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
PHP para aplicações Web de grande porte
PHP para aplicações Web  de grande portePHP para aplicações Web  de grande porte
PHP para aplicações Web de grande porte
 
Workshop - Cordova e Ionic
Workshop - Cordova e IonicWorkshop - Cordova e Ionic
Workshop - Cordova e Ionic
 
Desenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OSDesenvolvendo aplicativos para Firefox OS
Desenvolvendo aplicativos para Firefox OS
 
Mini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOLMini-curso RubyOnRails CESOL
Mini-curso RubyOnRails CESOL
 
12 factor app. Melhor com Docker
12 factor app. Melhor com Docker12 factor app. Melhor com Docker
12 factor app. Melhor com Docker
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Seminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec CafelândiaSeminário de Desenvolvimento Mobile - Etec Cafelândia
Seminário de Desenvolvimento Mobile - Etec Cafelândia
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Composer dependency manager
Composer   dependency managerComposer   dependency manager
Composer dependency manager
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
 
Palestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPressPalestra UFPR - Intro Ionic framework + WordPress
Palestra UFPR - Intro Ionic framework + WordPress
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIsDevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
 
Drupal e o seu ecossistema
Drupal e o seu ecossistemaDrupal e o seu ecossistema
Drupal e o seu ecossistema
 

More from Ramon Ribeiro Rabello

Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeRamon Ribeiro Rabello
 
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondAndroid Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondRamon Ribeiro Rabello
 
Create Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackCreate Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackRamon Ribeiro Rabello
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android StudioRamon Ribeiro Rabello
 
Produtividade ninja com android studio
Produtividade ninja com android studioProdutividade ninja com android studio
Produtividade ninja com android studioRamon Ribeiro Rabello
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Ramon Ribeiro Rabello
 
Os caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaOs caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaRamon Ribeiro Rabello
 
Making your app see with Mobile Vision API
Making your app see with Mobile Vision APIMaking your app see with Mobile Vision API
Making your app see with Mobile Vision APIRamon Ribeiro Rabello
 
Inovar em tempos de crise? Yes, We Can!
Inovar em tempos de crise?  Yes, We Can!Inovar em tempos de crise?  Yes, We Can!
Inovar em tempos de crise? Yes, We Can!Ramon Ribeiro Rabello
 
Android Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesAndroid Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesRamon Ribeiro Rabello
 
O caminho de um desenvolvedor android
O caminho de um desenvolvedor androidO caminho de um desenvolvedor android
O caminho de um desenvolvedor androidRamon Ribeiro Rabello
 
Workshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoWorkshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoRamon Ribeiro Rabello
 
De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...Ramon Ribeiro Rabello
 
Agora é Android, Tá Safo? - #tasafoemacaocastanhal
Agora é Android, Tá Safo? - #tasafoemacaocastanhalAgora é Android, Tá Safo? - #tasafoemacaocastanhal
Agora é Android, Tá Safo? - #tasafoemacaocastanhalRamon Ribeiro Rabello
 

More from Ramon Ribeiro Rabello (20)

Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
 
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondAndroid Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyond
 
Create Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackCreate Modern Apps with Android Jetpack
Create Modern Apps with Android Jetpack
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android Studio
 
Produtividade ninja com android studio
Produtividade ninja com android studioProdutividade ninja com android studio
Produtividade ninja com android studio
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!
 
Os caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaOs caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa Pública
 
Making your app see with Mobile Vision API
Making your app see with Mobile Vision APIMaking your app see with Mobile Vision API
Making your app see with Mobile Vision API
 
Inovar em tempos de crise? Yes, We Can!
Inovar em tempos de crise?  Yes, We Can!Inovar em tempos de crise?  Yes, We Can!
Inovar em tempos de crise? Yes, We Can!
 
O ecossistema android
O ecossistema androidO ecossistema android
O ecossistema android
 
Android Marshmallow na prática
Android Marshmallow na práticaAndroid Marshmallow na prática
Android Marshmallow na prática
 
Android Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesAndroid Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentes
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
O caminho de um desenvolvedor android
O caminho de um desenvolvedor androidO caminho de um desenvolvedor android
O caminho de um desenvolvedor android
 
Porque Aprender Android
Porque Aprender AndroidPorque Aprender Android
Porque Aprender Android
 
Workshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoWorkshop Android em Ambientes de Integração
Workshop Android em Ambientes de Integração
 
De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...
 
Agora é Android, Tá Safo? - #tasafoemacaocastanhal
Agora é Android, Tá Safo? - #tasafoemacaocastanhalAgora é Android, Tá Safo? - #tasafoemacaocastanhal
Agora é Android, Tá Safo? - #tasafoemacaocastanhal
 
"Facebookoid"
"Facebookoid""Facebookoid"
"Facebookoid"
 

Desenvolva aplicações Android com PHP

  • 1. <?php4android: desenvolva aplicações android em PHP { Ramon Ribeiro Rabello ramon.rabello@gmail.com @ramonrabello
  • 2. Ñ Ramon Ribeiro Rabello! Ñ Engenheiro de Software pela Cobra Tecnologia Ñ Mais um membro da comunidade @tasafo Ñ Um evangelista de Android no Brasil Ñ Colunista da revista WebMobile (DevMedia Group) Ñ Um dos líderes do projeto Andromeda apresentado durante o DroidCon ’09 (Berlim, Alemanha) Ñ Mestrando pelo CIn-UFPE (projeto ORCAS) Eu sou...
  • 3. Olá, eu me chamo Android!
  • 5. Sou a 1ª plataforma móvel totamente open source!
  • 6. Fui considerado a estréia da Google na área de desenvolvmento móvel.
  • 7. Além de um Sistema Operacional, sou um SDK.
  • 8. Forneço vários serviços integrados em um só lugar!
  • 9. Já sou a 3ª plataforma móvel mais utilizada no mundo.
  • 10. Sou a maior dor de cabeça do Steve.
  • 11. Fala aê, galera! Mas não faço o trabalho sozinho, Servidos? tenho ajuda destes dois carinhas aí...
  • 12. Quer saber como eu funciono?
  • 13.
  • 14. Android Facades AndroidFacade CameraFacade CommonIntentsFacade UIFacade SensorsFacade ApplicationManagerFacade Software Layer for Android (SL4A)
  • 15. PFA: PHP for Android
  • 16. <?php require_once(“Android.php”); $android = new Android(); $android->viewContacts(); exemplo: contatos.php
  • 17. /* package & imports */ public class ChamadaActivity extends Activity { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); Uri uri = ContactsContract.Contacts.CONTENT_URI; Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } } exemplo: ContatosActivity.java
  • 18. <?php require_once(“Android.php”); $android = new Android(); $android->phoneDialNumber(‘5554’); exemplo: chamada.php
  • 19. /* package & imports */ public class ChamadaActivity extends Activity { @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); Uri uri = Uri.parse(“tel:5554”); Intent intent = new Intent(Intent.ACTION_DIAL, uri); startActivity(intent); } } exemplo: ChamadaActivity.java
  • 20. sl4a_r0.apk phpforandroid.apk Instalando SL4A e PFA
  • 21. Ñ Desenvolvimento inline (sem ferramentas, SDK, etc) Ñ Para aplicações rápidas e práticas, a utilização de scripts pode ser uma ótima alternativa Ñ Projeto Open Source! Você também pode contribuir! Ñ Programadores PHP podem migrar para PFA facilmente! Ñ Suporte a várias linguagens de Script: Ó BeanShell Ó Python Ó PHP 5.3.3 Ó JavaScript Ó Tcl/Tk Ó Lua Ó Rhino Ó Perl Vantagens da SL4A
  • 22. Ñ Escassez de documentação/tutoriais Ñ Ainda não é possível instalar uma aplicação SL4A como um executável .apk Limitações
  • 23. Ñ Jul-Ago de 2010 Ó Melhorar documentação e manuais. Ó Script2Apk: Conversão de scripts PHP para executáveis de Android (.apk) Ñ Set-Out de 2010 Ó Correção de bugs da versão 0.2 Ó Adição de novas bibliotecas e frameworks Ó Melhoria nos docs e manuais. Ñ Nov-? 2010 Ó Correção de bugs da versão X.X.X Ó Releases suportando SL4A (antes ASE) Ó Permitir carregamento de bibliotecas dinâmicas usando dl() Ó Criação de um repositório de scripts ( upload + download ) Ó Suporte a x86 (download de zips de acordo com a arquitetura) Roadmap do PFA
  • 24. Site do Desenvolvedor http://developer.android.com Instalando o SDK + Plugin ADT (Eclipse) http://developer.android.com/sdk/index.html Contribua para o desenvolvimento da plataforma! http://source.android.com Saiba mais sobre Android
  • 25. SL4A http://android-scripting.googlecode.com PFA http://phpforandroid.net Saiba mais sobre SL4A + PFA
  • 27. Obrigado! @ramonrabello ramon.rabello@gmail.com tasafo.wordpress.com