22 janeiro 2009

Por que usar PHP?

Não é à toa que temos no mundo mais de 4.500.000 de desenvolvedores PHP. Mas porque essa linguagem de programação os seduziu?
Seria a velocidade? A facilidade em se desenvolver? A portabilidade? O elePHPant?

Para responder a essa questão e mostrar para as empresas o quanto o PHP pode ser rentável, o Grupo de Usuários de PHP da Irlanda redigiu um documento intitulado PHP White Paper mostrando as vantagens do PHP.
Abaixo segue um resumo do que se trata o documento.

1 - Identidade
O PHP é, assim como Java e .NET, uma linguagem de programação e uma plataforma global.

Como linguagem de programação, PHP tem uma sintaxe bastante 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

Cerca de 1000 engenheiros desenvolvem o PHP.

O PHP é Software Livre, distribuído sob uma licença na qual os usuários não são obrigados a publicar seu código.
A portabilidade é uma das maiores vantagens do PHP, possibilitando sua instalação em vários Sistemas Operacionais como: Windows, Linux, Unix, IBM iSeries, SGI IRIX, RISC OS, Netware Novell, Mac OS X e AmigaOS

2 - Estatísticas de uso
Segundo a NetCraft, o PHP é utilizado em um a cada três sites na Internet. Ou seja, mais de 20 milhões de domínios. 35% da Internet roda PHP

Uma das maiores plataformas do mundo é o Yahoo, que utiliza PHP e chega a receber 150 mil visitantes simultaneamente.

3 - PHP para sua Empresa
-> Simplicidade
O PHP é uma linguagem com um modelo de desenvolvimento muito simples. O objetivo inicial do PHP era tornar possível um desenvolvimento rápido sem um treinamento preliminar. Esse objetivo foi alcançado, fazendo com que a maioria das empresas de hospedagem ofereçam PHP nos seus servidores.

-> Adaptabilidade
O PHP usa duas sintaxes. Uma é procedural e a outra é orientada a objetos. A procedural é utilizada por webmasters que trabalham na interface com o usuário.
Já a sintaxe Orientada a Objetos é, propositalmente similar ao Java e C#, com o objetivo de reduzir os custos com treinamento e encorajar a migração para o PHP.

-> Interoperabilidade
O PHP pode instanciar objetos COM, .NET e JAVA, além de disponibilizar mecanismos para comunicação com todos os principais bancos de dados relacionais, assim como com LDAP, XML, Web Services, Lotus Notes, SAP, entre outros.

-> Portabilidade
Disponível para a maioria dos sistemas operacionais, o PHP funciona da mesma maneira que a Maquina Virtual do Java(JVM). Após desenvolver a aplicação, ela irá funcionar imediatamente, sem a necessidade de recompilar, independente de qual sistema operacional está sendo utilizado.

-> Durabilidade
A durabilidade de uma tecnologia depende principalmente da quantidade de usuários. O PHP é utilizado por mais de 4.500.000 desenvolvedores no mundo, fazendo com que sua comunidade seja extremamente forte e atuante.

-> Performance
O PHP tem uma grande performance e estabilidade. A combinação Linux/Apache/PHP é muito forte.

-> Retorno do investimento
Os pontos citados acima resultam em um rápido retorno do investimento. Isso é possível graças à ausência de custos com licenças, pequeno custo com treinamentos, entre outros.

4 - Arquitetura Técnica
Na maioria das vezes o PHP é utilizado com:
- Um servidor Web: Apache ou Microsoft IIS
- Um SGDB(Banco de Dados): MySQL, PostgreSQL, Oracle, SQL Server, etc

A maioria das plataformas utilizam Linux, Apache, MySQL e PHP(Conhecido como LAMP)

A plataforma pode utilizar as seguintes interfaces:
- Web(HTML, WML, etc.)
- Web Services
- Rich Clients, cliente/servidor(PHP-GTK, PHP-XUL, etc.)
- Linha de Comando(CLI)
- Documentos Office(Open Documents, Open XML, PDF, Flash, etc.)

A classe FPDF faz com que documentos PDF complexos sejam desenvolvidos com poucas linhas de código.

-> Mecanismo Interno
O núcleo interno do PHP 5 é o Zend Engine 2. O PHP é feito com uma arquitetura modular, e utiliza os mesmos conceitos do Java e .NET. Um pré-compilador compila o código e envia para a execução em tempo real.
Essa arquitetura permite que engenheiros utilizem ferramentas de otimização(opcode cache).
É possível diminuir o tempo de execução de um script em até 66%. Além disso, o PHP oferece uma API para que seja possível estender suas funcionalidades com módulos adicionais.
Esses módulos permitem uma conexão com um banco de dados ou LDAP, executar componentes Java ou COM, conversar com Web Services utilizando SOAP, entre outros.
O PHP pode ser automaticamente atualizado através do PEAR e PECL.

Independente da interface utilizada, a execução sempre segue o mesmo processo. Primeiramente, o script PHP é interpretado pelo núcleo. É nesse ponto que o PHP vai, por exemplo, conectar com o banco de dados. Depois disso, o fluxo é transmitido para o servidor Web ou o servidor GTK para que seja enviado ao cliente final.

O repositório de classes PEAR oferece mais de 300 componentes adicionais, que são simples de instalar e atualizar com um único comando.

5 - Uma plataforma que resolve problemas de integração
-> Muitos conectores
Cerca de 40% dos custos de desenvolvimento estão na integração de aplicações ou fontes de dados. Para reduzir esses custos, o PHP pode conectar diretamente com a maioria dos bancos de dados(Oracle, SQL Server, MySQL, dBase, ODBC, XML, etc.), diretórios(LDAP, etc.), sistemas de pagamentos online(Verisign, Cybercash, Realex, etc.) e protocolos(SMTP, IMAP, FTP, HTTP, TCP, SSH, etc.).

-> Comunicação via COM, .NET e Web Services
O PHP é o campeão no quesito de integração de baixo nível. A plataforma pode facilmente instanciar objetos COM, classes Java e .NET. PHP 5 com SOAP tem uma camada de alto nível para ler ou criar Web Services.

6 - PHP, J2EE e .NET: Utilização concorrente
Graças a habilidade de trabalhar bem com COM e Java, PHP está se tornando um padrão no gerenciamento da camada gráfica de aplicações que utilizam múltiplas linguagens de programação. Por exemplo a Lufthansa(Uma das maiores empresas de transporte do mundo) utiliza PHP para exibir a interface visual, e J2EE para a camada de negócios.

-> Comunicação com .NET
É possível instanciar componentes COM. A clase(ainda experimental) dotnet_load() permite que um componente Microsoft .NET seja instanciado pelo PHP.
Alguns compiladores do PHP para MSIL(código intermediário do .NET) estão em desenvolvimento(PHP Sharp)
Há ainda uma implementação para a plataforma .NET Mono(Software Livre)

-> O grupo de trabalho JSR 223(para chamar objetos Java a partir de outras linguagens) é liderada pela Zend Technologies(Empresa desenvolvedora do PHP).
-> A IBM oferece boas literaturas para o PHP como: "Bringing PHP to Your IBM iSeries Server" e "Developing PHP Application for IBM Data Servers"
-> Há rumores de que a Oracle irá incluir o PHP no "Oracle Application Server".
-> O PHP está disponível para as plataformas Netware 6.x.

7 - O Ecossistema PHP
Após 10 anos de vida, o PHP construiu um grande ecossistema. Algumas ferramentas tornam o desenvolvimento mais fácil e rápido.
A comunidade de Software Livre vem produzindo aplicações empresariais há vários anos. Essas aplicações ajudam empresas a encontrar suas necessidades.

Segue uma lista de exemplos.
-> Desenvolvimento de Software
Dreamweaver, Eclipse, PHPEdit, Zend Studio

-> Otimização
APC, eAccelerator, Smarty, JpCache

-> Administração
phpMyAdmin, phpOracleAdmin, phpSysbaseAdmin, phpPgAdmin

-> Gerenciamento de Conteúdo
Spip, eZ Publish, Joomla, Typo 3

-> Framework
PEAR, Symphony, CakePHP, Prado, Seagull, Zend Framework, eZ Components

-> ERP, webshops
Dolibarr(ERP), GeStock(Gerenciamento de estoque), osCommerce(Comércio Virtual), SugarCRM(CRM)

Como a plataforma PHP atualmente domina a Internet, é muito importante ter acesso a um grande número de recursos, empresas e desenvolvedores.
A Zend oferece uma certificação para desenvolvedores PHP, que certifica que um Engenheiro PHP é totalmente treinado, experiente e utiliza as melhores práticas.

No Brasil a comunidade do PHP é muito grande. O PHP Brasil Comunidades é composto por vários grupos regionais.

Em vários anos o PHP teve poucos avisos de segurança. Utilizado com o Linux e Apache, o resultado é a plataforma mais segura para a Internet.
Como seu código fonte está disponível e está constantemente sendo melhorado pela comunidade, é a melhor tecnologia para proteger informações importantes e confidenciais.

Não é a toa que empresas consagradas como Yahoo, Facebook, Wikipédia que recebem milhões de acessos diários escolheram o PHP!

Fonte: Irish PHP Users Group

9 comentários:

  1. É pessoal.... PHP é mesmo a melhor linguagem para se desenvolver...

    Abraços!!

    ResponderExcluir
  2. Realmente, sem palavras para o texto.
    Com certeza vai me ajudar muito na hora de migrar alguns sistemas aí.

    Obrigado pela tradução

    ResponderExcluir
  3. excelente! Documentos assim são importantes para valorizar os Desenvolvedores PHP, onde é comum ver grandes salarios para Java e .NET.

    ResponderExcluir
  4. Ótimo complemento aos slides do Felipe: PHP não é coisa de moleque.

    Abraço

    ResponderExcluir
  5. Realmente PHP é poderosíssimo, foi Ele que abriu os horizontes para minha carreira profissional!!!

    ResponderExcluir
  6. Estou começando agora com desenvolvimento web, mas com certeza o PHP é uma linguagem espetacular.

    ResponderExcluir
  7. php é o melhor!
    não sei pq ainda tem gente q mexe com .net

    ResponderExcluir
  8. Faltava só um SET de fotos da garota com o ElePHPant

    ResponderExcluir
  9. Pois bem, depois de muito pensar decidi permanecer com o PHP como minha linguagem de desenvolvimento simplesmente pelo fato de eu já ter um bom conhecimento e a linguagem estar evoluindo rapidamente.

    ResponderExcluir