php: atualidade e tendências

45
PHP: Atualidade e Tendências Anápolis, 15 de junho de 2009 Almir Neto – [email protected] Otávio Calaça – [email protected] http://www.poomax.com.br

Upload: otavio-calaca-xavier

Post on 05-Jul-2015

1.651 views

Category:

Education


2 download

DESCRIPTION

Palestra apresentada no CEPA em Anápolis-GO por mim e o Almir Neto, mostrando a cena tecnológica em que o PHP encontra-se, e o que podemos esperar para o futuro.

TRANSCRIPT

Page 1: PHP: Atualidade e Tendências

   

PHP:Atualidade e Tendências

Anápolis, 15 de junho de 2009

Almir Neto – [email protected]

Otávio Calaça – [email protected]

http://www.poomax.com.br

Page 2: PHP: Atualidade e Tendências

   

● Criado em dezembro de 2007;● Lista de Discussão:

– mais de 240 membros.● Encontros:

– Palestras;– Networking.

● Site:– www.gophp.com.br

● Eventos:– FLISOL, FGSL, Latinoware, Conisli, CONSOFT.

Grupo de Desenvolvedores PHP de Goiás

Page 3: PHP: Atualidade e Tendências

 3

PHP: Atualidade e Tendências

 

Um pouco da história do PHP• 1995: Personal Home Page Tools (Rasmus Lerdorf)

– Conjunto de scripts Perl, posteriormente implementações em C

• 1997: 50.000 domínios utilizavam a segunda versão

• 1998: O PHP foi reescrito por Andi Gutmans e Zeev Suraski

– PHP = Hypertext Preprocessor

– 10% da Internet rodava PHP

• 2000: O PHP4 trouxe um novo núcleo

• 2004:  Lançamento do PHP5, introduzindo OO na linguagem

– 35% da Internet utiliza PHP

– 4.500.000 de desenvolvedores

• 2009: PHP 6?

Page 4: PHP: Atualidade e Tendências

 4

PHP: Atualidade e Tendências

 

Desenvolvimento• Cerca de 1000 engenheiros desenvolvem o PHP• Sintaxe parecida com C, Shell, PERL e Java

• Com PHP é possível desenvolver:– Aplicações Web Dinâmicas(websites, intranets, extranets, etc.)

– Aplicações Desktop(PHP­GTK e PHP4Delphi)

– Rich Clients(PHP­XUL)

– Web Services(SOAP, XML­RPC, REST)

– Scripts de linha de comando

– Tarefas de segundo plano

Page 5: PHP: Atualidade e Tendências

 5

PHP: Atualidade e Tendências

 

Licença de uso• Software Livre• PHP License versão 3.01

– Segue o estilo BSD

– Permite a livre criação e distribuição de software PHP

– Cópia da licença do Apache

Page 6: PHP: Atualidade e Tendências

 6

PHP: Atualidade e Tendências

 

Portabilidade• É possível instalar o PHP em vários SO, como:

– Windows;

– Linux;

– Unix;

– IBM iSeries;

– SGI IRIX;

– RISC OS;

– Netware Novell;

– Mac OS X;

– AmigaOS.

Page 7: PHP: Atualidade e Tendências

 7

PHP: Atualidade e Tendências

 

Algumas Estatísticas• Um a cada três sites na Internet utiliza PHP;• + de 25 milhões de domínios;• Tecnologia número 1 da Web;• Quarta linguagem de programação mais popular 

de acordo com o TIOBE;• Eleita linguagem de programação do ano de 

2004, pelo TIOBE.

Page 8: PHP: Atualidade e Tendências

 8

PHP: Atualidade e Tendências

 

Popularidade

Fonte: TIOBE

Page 9: PHP: Atualidade e Tendências

 9

PHP: Atualidade e Tendências

 

Quem usa?

Page 10: PHP: Atualidade e Tendências

 10

PHP: Atualidade e Tendências

 

Quem usa?

Page 11: PHP: Atualidade e Tendências

 11

PHP: Atualidade e Tendências

 

Quem usa?

Page 12: PHP: Atualidade e Tendências

 12

PHP: Atualidade e Tendências

 

Quem usa?

Page 13: PHP: Atualidade e Tendências

 13

PHP: Atualidade e Tendências

 

Quem usa?

Page 14: PHP: Atualidade e Tendências

 14

PHP: Atualidade e Tendências

 

Quem usa?

Page 15: PHP: Atualidade e Tendências

 15

PHP: Atualidade e Tendências

 

Quem usa?

Page 16: PHP: Atualidade e Tendências

 16

PHP: Atualidade e Tendências

 

Até a Microsoft usa PHP???

Page 17: PHP: Atualidade e Tendências

 17

PHP: Atualidade e Tendências

 

Simplicidade e Adaptabilidade

• Modelo de desenvolvimento simples– Facilita o aprendizado

• Sintaxe Extruturada ou• Sintaxe Orientada à Objetos

– Similar ao Java e C++

– Encapsulamento, Herança, Polimorfismo, Interfaces, Reflexão,

– Visibilidade, Exceções, Métodos Mágicos, Sobrecarga.

– SPL (Standard PHP Library)

– Possibilita o desenvolvimento em três camadas

Page 18: PHP: Atualidade e Tendências

 18

PHP: Atualidade e Tendências

 

Interoperabilidade• O PHP permite instanciar objetos:

– COM

– Java

– .NET

• Funções nativas para comunicação com os principais bancos de dados relacionais como MySQL, PostgreSQL, Oracle, MSSQL, Firebird, etc.

Page 19: PHP: Atualidade e Tendências

 19

PHP: Atualidade e Tendências

 

Utilização concorrente– Com a habilidade de comunicar com objetos COM e Java, o PHP está 

se tornando um padrão no gerenciamento da camada gráfica• A Lufthansa utiliza J2EE na camada de negócios e PHP na 

interface visual

– Comunicação com .NET• É possível instanciar um componente Microsoft .NET através da 

classe dotnet_load()• Há compiladores PHP para MSIL(Código intermediário do .NET) 

em desenvolvimento• Há uma implementação para .NET com MONO

Page 20: PHP: Atualidade e Tendências

 20

PHP: Atualidade e Tendências

 

• A Zend Technologies lidera o grupo de trabalho JSR 223, que tem foco na instanciação de objetos Java à partir de outras linguagens

• A IBM dedicou uma seção específica ao PHP em seu site, publicando excelentes artigos sobre a utilização de PHP em servidores IBM, dentre outros

– Atualmente o acervo da IBM sobre PHP conta com mais de 200 artigos, que falam desde como comunicar o PHP com o Twitter, até tutoriais de como desenvolver jogos com PHP

• A Oracle pretende incluir o PHP no “Oracle Application Server”• O PHP está disponível para as plataformas Netware 6

Utilização concorrente

Page 21: PHP: Atualidade e Tendências

 21

PHP: Atualidade e Tendências

 

Aplicações Enterprise• O PHP está pronto para aplicações enterprise, dando suporte a:

– SOAP

– Rest– LDAP

– XML(Fácil leitura e criação)

– Web Services

– Lotus Notes

– SAP

– SVN

Page 22: PHP: Atualidade e Tendências

 22

PHP: Atualidade e Tendências

 

Durabilidade

• Grande base de desenvolvedores– Mais de 4.500.000 de desenvolvedores

• Comunidade forte e atuante– Grupos de usuários em todo o mundo fortalecem a linguagem.

– Bugs são rapidamente reportados e solucionados

Page 23: PHP: Atualidade e Tendências

 23

PHP: Atualidade e Tendências

 

Performance

• Boa performance e estabilidade– A combinação PHP + Linux + Apache é muito forte

– A Microsoft vêm trabalhando duro para melhorar a performance do PHP no Windows com o servidor IIS

Page 24: PHP: Atualidade e Tendências

 24

PHP: Atualidade e Tendências

 

Mecanismo Interno• Zend Engine 2

– Arquitetura Modular

– Mesmos conceitos do Java e .NET

– O código é compilado e executado em tempo real

– É possível diminuir o tempo de execução em até 66%

– É possível extender as funcionalidades do PHP implementando funções em C

– O PHP é interpretado, ou seja, não é necessário compilar os programas

– Porém, caso deseje, é possível compilar um programa desenvolvido em PHP

Page 25: PHP: Atualidade e Tendências

 25

PHP: Atualidade e Tendências

 

Mecanismo Interno– PEAR e PECL

• Instalação com um único comando• Mais de 500 extensões disponíveis• Mais de 700 colaboradores• Antes de ser disponibilizada, uma biblioteca é extensivamente 

testada e deve ser aprovada por um comitê formado por especialistas

• Extensões vão desde bibliotecas de comunicação com bancos de dados até bibliotecas para implementar AJAX

• Documentação completa

Page 26: PHP: Atualidade e Tendências

 26

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 27: PHP: Atualidade e Tendências

 27

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 28: PHP: Atualidade e Tendências

 28

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 29: PHP: Atualidade e Tendências

 29

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 30: PHP: Atualidade e Tendências

 30

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 31: PHP: Atualidade e Tendências

 31

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 32: PHP: Atualidade e Tendências

 32

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 33: PHP: Atualidade e Tendências

 33

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 34: PHP: Atualidade e Tendências

 34

PHP: Atualidade e Tendências

 

Ferramentas para desenvolver em PHP

Page 35: PHP: Atualidade e Tendências

 35

PHP: Atualidade e Tendências

 

O ecossistema PHP– Otimização

• ACP• eAccelerator• Smarty• JpCache

– Administração• phpMyAdmin• phpOracleAdmin• phpSysbaseAdmin• phpPgAdmin

Page 36: PHP: Atualidade e Tendências

 36

PHP: Atualidade e Tendências

 

O ecossistema PHP– Gerenciamento de Conteúdo

• Spip• eZ Publish• Typo 3• Joomla• Wordpress

– ERP, Webshops• Dolibarr(ERP)• GeStock(Gerenciamento de estoque)• osCommerce(Comércio Virtual)• SugarCRM(CRM)

Page 37: PHP: Atualidade e Tendências

 37

PHP: Atualidade e Tendências

 

O ecossistema PHP– Frameworks

• Cake PHP– Implementa MVC e ORM

• Code Igniter– Bastante utilizado pela alta performance

• PHP.MVC– Teve como base o framework Java Struts

• Symphony– Integração com bibliotecas de terceiros

• Zend Framework– Base de código altamente testada

• PRADO– Grande comunidade e extensa documentação

Page 38: PHP: Atualidade e Tendências

 38

PHP: Atualidade e Tendências

 

Certificação

• Duas certificações da Zend:– Zend Certified Engineer: PHP 5;

– Zend Certified Engineer: Zend Framework;

Page 39: PHP: Atualidade e Tendências

 39

PHP: Atualidade e Tendências

 

Comunidade PHP

• Centenas de grupos de usuários no mundo• PHP Brasil Comunidades

– Os grupos regionais se uniram para se fortalecer– É composto atualmente por 17 grupos– Em menos de 1 ano de existência já realizou dois 

eventos nacionais• COLAPHP – Congresso Latino Americano de PHP• CONAPHP – Congresso Nacional de PHP

Page 40: PHP: Atualidade e Tendências

 40

PHP: Atualidade e Tendências

 

O Futuro do PHP

• PHP 5.3:– Namespaces:

• Definição:

namespace Poomax\News;

class Dir {

   ...

}

// exemplos de uso:

// diretamente$foo = new Poomax\News\Dir;

// importando o namespaceuse Poomax\News;$foo = new News\Dir;

// renomeando a classeuse Poomax\News\Dir as PND;$foo = new PND;

Page 41: PHP: Atualidade e Tendências

 41

PHP: Atualidade e Tendências

 

O Futuro do PHP

• PHP 5.3:– Lambda functions:

$lambda = function () {    echo "Hello World!\n";};$lambda();

Page 42: PHP: Atualidade e Tendências

 42

PHP: Atualidade e Tendências

 

O Futuro do PHP

• PHP 5.3:– Closures:

function getSomador($x) {return function ($y) use ($x) {

return $x + $y;};

}$somador = getSomador(10);echo $somador(5); //15echo $somador(32); //42

Page 43: PHP: Atualidade e Tendências

 43

PHP: Atualidade e Tendências

 

O Futuro do PHP• PHP 5.3:

– PHAR: PHP Archive• O Jar do PHP• Consegue deixar a aplicação até 33% mais rápida

– Garbage Collection– Late Static Binding– Correções de Bugs  e Refatoramentos.

• PHP 6– PHP 5.3 + Unicode

Page 44: PHP: Atualidade e Tendências

 44

PHP: Atualidade e Tendências

 

Maiores Informações– http://www.poomax.com.br– http://www.gophp.com.br– http://www.php.net– http://pear.php.net– http://pecl.php.net– http://www.ibm.com– http://php.org.br/– http://www.php.com.br/– http://www.phpmagazine.org.br– http://www.php.ie– http://www.netcraft.com– http://www.tiobe.com

Page 45: PHP: Atualidade e Tendências

 45

PHP: Atualidade e Tendências

 

Perguntas?

Obrigado!

Almir Neto – [email protected]

Otávio Calaça – [email protected]

http://www.poomax.com.br