Você está aqui: Página Inicial > Tema > Artigos & Opiniões > O Estado da Arte do PHP

Notícias

O Estado da Arte do PHP

ARTIGO

Flávio Gomes é analista de desenvolvimento da Superintendência de Suporte e Dados
Flávio Gomes, analista do Serpro

Flávio Gomes, analista do Serpro

O objetivo deste artigo é prover um panorama da tecnologia de desenvolvimento livre e aberta PHP para 2017. A importância de se observar o estado de PHP encontra justificativa em sua amplitude de uso. Segundo a própria comunidade de desenvolvedores que mantém e distribui essa linguagem, a partir de estatísticas da empresa Netcraft, em 2013 haviam 244 milhões de sites usando PHP. Segundo a W3Techs, em 23/1/2017, PHP era usado por 82,4% de todos os websites cuja linguagem de programação no servidor era conhecida.

Apresentaremos duas fontes de referência sobre as tendências da tecnologia PHP. Uma delas é a pesquisa 2016 Developer Pulse promovida pela RogueWave Software, que provê alguns dados e inferências sobre a versão mais recente da linguagem, a 7, sobre segurança de aplicação, maturidade de DevOps e planos para fazer aplicações melhores. A outra fonte são os destaques da PHP Conference Brasil 2016, o maior evento da temática da América Latina.

Os desenvolvedores PHP estão mais rápidos do que nunca

Segundo a pesquisa, 67% dos desenvolvedores PHP distribuem código em produção mais de uma vez por semana. 24% nunca encontraram problemas quando distribuíram para produção. Os que encontraram ainda tem desafios de distribuição, assim consideram implementar estratégias de DevOps para reduzir riscos.

85% gastam ao menos metade do tempo entregando novas funcionalidades. A minoria gasta a maior parte do tempo resolvendo problemas.

De acordo com o Puppet Labs, as práticas DevOps aceleram a distribuição de aplicações em 200 vezes com 60 vezes menos falhas.

A segurança está sendo tratada como um cidadão de primeira classe

A pesquisa mostra que 48% dos desenvolvedores PHP acreditam que eles são responsáveis pela segurança do código. A adoção de PHP 7, treinamento adequado e investimento em automação de testes e TDD colocam o desenvolvedor em um caminho mais seguro.

48% dos desenvolvedores entrevistados afirmam que a maior preocupação de segurança com aplicações PHP são as vulnerabilidades com código personalizado, o que indica que a implementação padrão é mais confiável.

Segundo a revista Forbes, a segurança é a terceira maior preocupação dos CIOs para 2017.

Tipos de aplicações sendo construídas

A despeito do crescimento de Javascript e novos modos de usar PHP (jogos, inteligência artificial, POC), a construção de aplicações web ainda domina o cenário de desenvolvimento PHP, com 93%. Entre os cenários de aplicações usando a linguagem, encontramos aplicações corporativas internas, sistemas de gerenciamento de conteúdo, sistemas de e-commerce, backends para aplicações móveis, serviços ou APIs e modernização de sistemas legados.

Benchmarks

A versão 7 de PHP trouxe várias melhorias de desempenho. Para efeito de comparação, um código que gastava 428MB de memória em PHP 5.6 gasta apenas 33MB em PHP 7 (~8% da quantidade anterior). Esse mesmo código que levava 0,49s para executar em PHP 5.6 é executado em 0,06s em PHP 7 (~12% do tempo anterior).

A rede social Badoo economizou 1 milhão de dólares usando PHP 7. O Tumblr deduziu a latência e carga de CPU pela metade. O Dailymotion consegue agora lidar com o dobro de tráfego.

Inteligência Artificial e Controle de Drones

Um dos destaques da 11ª PHP Conference Brasil foi o professor Wellton Costa de Oliveira, pesquisador da UTFPR. O professor abordou um dos principais assuntos debatidos quando se fala em Inteligência Artificial, o reconhecimento de padrões, mais especificamente as Redes Neurais, que começou na década de 40 com o objetivo de simular os neurônios humanos e que hoje é uma das mais poderosas ferramentas estatísticas usada largamente pelo mundo. Em sua palestra, o professor mostrou de forma prática como criar uma aplicação em PHP para reconhecimento de imagens usando a biblioteca FANN (Fast Artificial Neural Network Library). Ele tirou fotos no auditório e executou um programa PHP que marcava os rostos nas fotos com retângulos.

O professor Wellton também mostrou ao vivo como controlar um drone modelo Parrot Ar.drone 2.0 (um quadricóptero com uma API livre) usando a biblioteca ReactPHP, construída para permitir programação orientada a eventos em PHP em baixo nível (comunicação direta com dispositivos).

Em ambos os casos, o professor deixou evidente o poder da linguagem PHP na construção de aplicações de grande complexidade com uma sintaxe simples e concisa.

Equilíbrio entre desempenho e controle

A programação orientada a objetos oferece a vantagem de melhor organização de um projeto de software além da possibilidade de reaproveitamento de funcionalidades entre projetos, mas às vezes cobra o preço de um desempenho inferior comparado com uma programação mais despojada de regras. O framework Phalcon, abordado na palestra do programador colombiano Andrés Gutierrez, é uma alternativa para alcançar o melhor compromisso entre desempenho e controle em aplicações PHP ao prover classes a partir de uma extensão PHP, dispensando a necessidade de carregá-las na aplicação além de permitir a manipulação de recursos de baixo nível.

Referências:
NETCRAFT. PHP just grows & grows. Disponível em: <http://news.netcraft.com/archives/2013/01/31/php-just-grows-grows.html> Acesso em 23/01/2017.
W3TECHS. Usage statistics and market share of PHP for websites. Disponível em <https://w3techs.com/technologies/details/pl-php/all/all>. Acesso em 23/01/2017.
ZEND TECHNOLOGIES. The 2017 State of PHP. Disponível em: <http://www.zend.com/en/resources/2017-state-of-php>. Acesso em 23/01/2017.

Flávio Gomes, analista do SerproFlávio Gomes da Silva Lisboa é bacharel em Ciência da Computação, especialista em Aplicações Corporativas usando Orientação a Objetos e Tecnologia Java, Zend Certified PHP Engineer, Zend Framework Certified Engineer, Zend Framework 2 Certified Architect. Mestrando em Tecnologia e Sociedade, autor pela Novatec Editora, professor de testes unitários na Unicesumar e  dono do blog romocavaleirodoespaco.blogspot.com. No Serpro é analista de desenvolvimento da Superintendência de Suporte e Dados.