php: atualidade e tendências
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
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
● 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
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?
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(PHPGTK e PHP4Delphi)
– Rich Clients(PHPXUL)
– Web Services(SOAP, XMLRPC, REST)
– Scripts de linha de comando
– Tarefas de segundo plano
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
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.
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.
8
PHP: Atualidade e Tendências
Popularidade
Fonte: TIOBE
9
PHP: Atualidade e Tendências
Quem usa?
10
PHP: Atualidade e Tendências
Quem usa?
11
PHP: Atualidade e Tendências
Quem usa?
12
PHP: Atualidade e Tendências
Quem usa?
13
PHP: Atualidade e Tendências
Quem usa?
14
PHP: Atualidade e Tendências
Quem usa?
15
PHP: Atualidade e Tendências
Quem usa?
16
PHP: Atualidade e Tendências
Até a Microsoft usa PHP???
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
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.
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
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
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
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
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
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
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
26
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
27
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
28
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
29
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
30
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
31
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
32
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
33
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
34
PHP: Atualidade e Tendências
Ferramentas para desenvolver em PHP
35
PHP: Atualidade e Tendências
O ecossistema PHP– Otimização
• ACP• eAccelerator• Smarty• JpCache
– Administração• phpMyAdmin• phpOracleAdmin• phpSysbaseAdmin• phpPgAdmin
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)
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
38
PHP: Atualidade e Tendências
Certificação
• Duas certificações da Zend:– Zend Certified Engineer: PHP 5;
– Zend Certified Engineer: Zend Framework;
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
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;
41
PHP: Atualidade e Tendências
O Futuro do PHP
• PHP 5.3:– Lambda functions:
$lambda = function () { echo "Hello World!\n";};$lambda();
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
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
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
45
PHP: Atualidade e Tendências
Perguntas?
Obrigado!
Almir Neto – [email protected]
Otávio Calaça – [email protected]
http://www.poomax.com.br