Upload
adler-medrado
View
6.477
Download
3
Embed Size (px)
DESCRIPTION
Palestras ministrada no FLISOL 2007
Citation preview
Ferramentas livres para desenvolvimento com PHP
2º ESLIFEncontro de Software Livre do
Instituto Superior Fátima
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]
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.
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.
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.
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.
Ferramentas livres para desenvolvimento com PHP
Demonstração
IDEs e Editores – PDT – PHP Development Tool
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
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
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.
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.
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.
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
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
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
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
Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
PRADO
Demonstração
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.
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.
Ferramentas livres para desenvolvimento com PHP
Frameworks e Repositórios de Classes
Zend Framework
Demonstração
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.
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.
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.
Ferramentas livres para desenvolvimento com PHP
Debbugers
XDebug
Demonstração
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.
Ferramentas livres para desenvolvimento com PHP
Debbugers – Profiling
Demonstração
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).
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.
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.
Ferramentas livres para desenvolvimento com PHP
Bug Tracking / Issue Tracker
Outros sistemas de bug tracking- Eventum- Mantis- Gforge
Demonstração
Ferramentas livres para desenvolvimento com PHP
Bug Tracking / Issue Tracker
Trac
Ferramentas livres para desenvolvimento com PHP
Considerações finais
Ferramentas livres para desenvolvimento com PHP
Perguntas ?
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