34
Ferramentas livres para desenvolvimento com PHP 2º ESLIF Encontro de Software Livre do Instituto Superior Fátima

Ferramentas Livres Para Desenvolvimento com PHP

Embed Size (px)

DESCRIPTION

Palestras ministrada no FLISOL 2007

Citation preview

Page 1: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

2º ESLIFEncontro de Software Livre do

Instituto Superior Fátima

Page 2: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Apresentação

Adler Medrado, programador/analista, atualmente prestando serviços no Ministério do Desenvolvimento, Indústria e Comércio Exterior – MDIC.Proprietário e consultor da empresa Nesher TechnologiesAuto didata, sempre presente em eventos sobre PHP e Software LivreMembro da equipe de coordenação do Grupo de Usuários PHP do Distrito Federal

Website - http://www.neshertech.net/adlerE-mail - [email protected]

Page 3: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Introdução

Esta palestra tem por objetivo demonstrar ferramentas úteis para desenvolvimento de software com PHP. As ferramentas nem sempre são desenvolvidas usando PHP mas foram feitas exclusivamente para uso com PHP e / ou são totalmente apropriadas para isso.Após esta palestra, o participante ampliará seu leque de opções que facilitam o dia-a-dia de um desenvolvedor ou uma equipe de desenvolvimento.

Page 4: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

IDEs e Editores

IDE , do inglês Integrated Development Environment ou Ambiente Integrado de Desenvolvimento, é um programa de computador que reúne características e ferramentas de apoio ao desenvolvimento de software com o objetivo de agilizar este processo. Fonte: WikipediaNormalmente é composto basicamente das seguintes funcionalidades:● Editor (com realce de sintaxe, auto-complete, etc)● Debugger (Depurador)● Gerenciador de projetos (Dos arquivos que compõem o projeto e não gerencia de projetos em si)● Suporte a Softwares de controle de versão● Refactoring● Deploy, Unit Tests, Ferramentas Case embutidas, etc.

Page 5: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

IDEs e Editores

Diferente dos IDEs, os editores normalmente possuem suporte a realce de sintaxe e auto-complete apenas, dependendo do editor, pode-se habilitar módulos (plugins) que torna-os tão completos como IDEs.

Muitos programadores preferem usar editores em vez de IDEs devido ao fato de os editores consumirem menos recursos de hardware do equipamento utilizado.

Page 6: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

IDEs e Editores – PDT – PHP Development Tool

Os princípios do PDT são:aprendizado fácil e intuitivo; Integração sem remendos com o WTP; Aderência ao padrão Eclipse; Capacidade de extensão; Apoio contínuo de desenvolvedores PHP. Baseado no eclipse, é um projeto apoiado pela Zend Technologies e IBM. Atualmente, é o IDE Open-Source para PHP mais completo, estável e funcional. A versão atual é a PDT 1.0 M1 e está previsto o lançamento da release 1.0 estável em Setembro de 2007.

Page 7: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Demonstração

IDEs e Editores – PDT – PHP Development Tool

Page 8: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

IDEs e Editores – PHP Eclipse

Primeiro grande projeto baseado no eclipse voltado ao PHP Período longo entre as releases

Page 9: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

IDEs e Editores – gPHPEdit

Simples editor baseado no gedit, comum em distribuições linux que utilizam o gerenciador de janelas GNOME.

Demonstração

Page 10: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

IDEs e Editores – jEdit

Editor inicialmente criado para desenvolver em JAVA, porém, por ser de fácil extensão, diversos plugins foram criados para ele, inclusive um plugin para PHP que permite realce de sintaxe e autocomplete.É possível utilizar um plugin para CVS no jEdit. Ainda não foi desenvolvido um plugin para jEdit que permita o uso do subversion.

Page 11: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

Programadores PHP possuem diversas opções de framework e bibliotecas de classes livres para utilizarem em seus projetos.Falaremos sobre os principais projetos.

Page 12: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

FrameworkÉ um conjunto de classes com objetivo de reutilização de um design, provendo um guia para uma solução de arquitetura em um domínio específico de software. Qual a diferença entre biblioteca de classes e framework?Biblioteca de classe apenas oferece uma implementação de funcionalidades.

Page 13: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

PEAR – PHP Extension and Application RepositoryÉ o repositório de classes mais popular atualmente. Neste repositório pode-se encontrar classes com funcionalidades diversas. Algumas classes possuem dependências de outras classes que compõem o PEAR. ● O Instalador do PEAR vem no pacote do PHP● Instalação simples● Interfaces em linha de comando, Web e PHP-GTK

Page 14: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

PEAR – EstatísticasAtualmente, o PEAR conta com 453 pacotes de bibliotecas em 45 categorias, já foram lançadas 3227 releases desses pacotes, possui 349 mantenedores desses pacotes e já foram realizados cerca de 30,036,033 downloads.● Desenvolvedores podem propor novos pacotes● Desenvolvedores podem participar do desenvolvimento de pacotes já existentes

Page 15: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

PEAR – Estatísticas – Pacotes mais populares

XML_RPC PEAR DB Net_Socket Mail Net_SMTP XML_Parser Archive_Tar Console_Getopt Log

Page 16: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

PRADO

É um framework para PHP 5 baseado em componentes e eventos o que o torna similar ao ASP.NET

Criado por Qiang Xue, o PRADO foi inicialmente inspirado no projeto Apache Tapestry

Foi vendedor de um concurso realizado pela Zend Technologies na época do lançamento do PHP 5

Page 17: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

PRADO

Demonstração

Page 18: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

Symfony

É um framework para desenvolvimento com PHP5.

Possue uma estrutura que lembra o Ruby on Rails.

Utiliza diversos componentes que já são conhecidos no mundo PHP como Creole, Propel e etc.

Page 19: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

Zend FrameworkÉ aposta da Zend em conjunto com diversas empresas e programadores de vários locais do mundo.

Baseado em componentes

A Princípio permite que os componentes sejam utilizados em conjunto ou separados.

Implementa diversos padrões de projetos e visa a simplicidade e produtividade.

Page 20: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Frameworks e Repositórios de Classes

Zend Framework

Demonstração

Page 21: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Debbugers

APD – Advanced PHP DebuggerÉ uma 'Zend Extension' ou seja, permite modificar a maneira com a qual as funções internas do PHP são manipuladas.Com isso nem sempre é compatível com outras Zend Extensions, por exemplo, Zend Optimizer e Xdebug.

Desenvolvido para prover a capacidade de realizar profiling e debug de códigos PHP.

Permite o debug iterativo porém por padrão ele gera arquivos que permite-se rastrear gargalos no código.

Page 22: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Debbugers

PHP - DbgTeve sua primeira Build no ano 2000 e já foi o mais popular debbuger para PHP.

Atualmente possui uma versão Open Source e uma versão comercial, sendo que a versão comercial é bem mais completa que a versão open-source.

A funcionalidade de profiling é exclusiva da versão comercial, que já vem embutida no IDE PhpED da empresa NuSphere.

Page 23: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Debbugers

XDebug

É o Debugger para PHP que mais se populariza atualmente.

É uma Zend Extension e permite o debug interativo, profiling e integração com diversos Editores e IDES comerciais ou free software.

Page 24: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Debbugers

XDebug

Demonstração

Page 25: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Debbugers - Profiling

Alguns debugger para PHP geram arquivos de profiling, ou seja, nos permite visualizar o fluxo de um código PHP a ponto de identificarmos os possíveis gargalos destes.

Para visualizarmos graficamente todo esse fluxo, necessitamos utilizar um programa que interprete estes arquivos.

Em ambiente windows, pode-se utilizar o WinCacheGrind e para ambientes linux, pode-se utilizar o KCacheGrind.

Apesar de terem funcionamento semelhante, o KCacheGrind possui algumas funcionalidades a mais.

Page 26: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Debbugers – Profiling

Demonstração

Page 27: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Controle de versão - CVS

CVS ou Concurrent Version System É especialmente útil para se controlar versões de um software durante seu desenvolvimento, ou para composição colaborativa de um documento.Lançado como código aberto em 1986 e atualmente é mantido por um grupo de voluntários.Possui plugins que permitem a integração com a maioria das IDEs e Editores disponíveis atualmente.É o sistema de controle de versão mais usado atualmente mas tem perdido espaço para o Subversion (SVN).

Page 28: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Controle de versão - SVN

SubversionSubversion (também conhecido por svn ou SVN, o nome da sua ferramenta de linha de comando) é um sistema de controle de versão desenhado especificamente para ser um substituto moderno do CVSFoi desenvolvido com a intenção de implementar algumas deficiências encontradas no CVS porém tendo em mente que a migração fosse menos traumática possível, por isso a maioria dos comandos são bastante similares aos do CVS.Da mesma forma que o CVS, possui diversos plugins que permitem a integração com a maioria dos Editores e IDEs disponíveis no mercado.

Page 29: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Bug Tracking / Issue Tracker

Ferramentas que permitem gerenciar problemas com o desenvolvimento como bugs, etc.

TracFerramenta que permite integração com o subversion e com o servidor web apache.Possui wiki interno que permite um melhor gerenciamento do projeto.Esta ferramenta é uma das mais utilizadas atualmente.

Page 30: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Bug Tracking / Issue Tracker

Outros sistemas de bug tracking- Eventum- Mantis- Gforge

Page 31: Ferramentas Livres Para Desenvolvimento com PHP

Demonstração

Ferramentas livres para desenvolvimento com PHP

Bug Tracking / Issue Tracker

Trac

Page 32: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Considerações finais

Page 33: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Perguntas ?

Page 34: Ferramentas Livres Para Desenvolvimento com PHP

Ferramentas livres para desenvolvimento com PHP

Obrigado pela atenção!

http://www.neshertech.net/adlerhttp://www.neshertech.net

http://www.phpdf.org.brhttp://www.x25.com.br