Review: Zend Studio 7

Salve !

Desde quando comecei a fazer programas venho usando algumas ferramentas para desenvolver em PHP.
Na categoria Editor / IDE, na minha mão (ui) já passaram Quanta Plus, KDevelop, Eclipse PHP IDE, Netbeans for PHP e agora estou utilizando o Zend Studio. Com exceção do último, todos free ou opensource.

Netbeans é muito bom, porém o que me chamou a atenção no Zend Studio foi o all-in-one que ele traz por default. Listando rapidamente:

  • Editor PHP
  • Integração SVN/CVS/Git
  • PHP Debugging já integrado ao Zend Debugger
  • PHP Profiling
  • Database Management e Debug
  • Um ToDo simples
  • Facilidade em achar as coisas nos projetos
  • Zend Toolbar integration para Firefox e IE – mas quem liga pro IE afinal
  • etc…

Claro que não é impossível configurar toda essa penca de coisa no Eclipse nativo ou Netbeans, só que isto demandaria tempo. :)

Destaque para PHP Debug, Profiling e Zend Toolbar. Isto me chamou MUITA atenção quando estava olhando reviews e também nos trinta dias de testes.

Além do feijão com arroz temos:

1. Call Hierarchy / Type Hierarchy / Open Type Hierarchy

Ajuda um bocado na localização nas relações entre classes e métodos dentro do projeto. No exemplo tenho um método que chama outro e esse outro chama outro. No caso, tudo dentro de mesma classe, mas funciona perfeitamente em qualquer parte do sistema – incluindo libs no Include Path:

Call Hierarchy

Já o Type Hierarchy mostra a relação entre uma classe e suas relações com classes pai ou interfaces:

Type Hierarchy

E o Open Type Hierarchy (Ctrl + Shift + H) auxilia a localização de objetos, arquivos e métodos dentro do projeto.

Open Type Hierarchy

Ainda na área de localização de elementos, há uma pesquisa mais completa (Ctrl + H) que permite localização de métodos, arquivos, classes separando por tipo e muito mais:

Search (Ctrl + H)

Após encontrar um resultado, a tab search é exibida/focada:

Search Results

2. Indentação e Marcação (diff) no código:

Outra coisa interessante – e que existe em qualquer IDE decente – é a possibilidade de trazer o que é chamado de Quick Diff. Este recurso permite mostrar de forma simples o que você alterou, removeu ou adicionou no código. Funciona com SVN, CVS e cópia do disco local. Selecione o tipo e as cores e voilà !

Quick diff

Embora muito comum, a indentação de código é algo interessante de manter ajustado (tab com 4 espaços) e suas preferências quanto a espaço entre os elementos; posição de chave de abertura e etc;

Indent

Nessa tela é possivel você definir praticamente tudo sobre indentação de código ! Depois de configurar ao seu gosto (ou padrão) pode exportar para XML e usar em qualquer outra ferramenta que leia o formato – qualquer Eclipse, por exemplo =P

Depois de configurado, você pode selecionar o trecho a ter a indentação ajustada selecionando o trecho e  Ctrl + i – obrigado, Otávio pela dica; Pode formatar todo um arquivo usando Ctrl + shift + F – valeu Toscano pela tip – ou ainda, formatar TODO o projeto: Selecione o Projeto no PHP Explorer, Source -> Format – obrigado hlegius :P

Note que todos atalhos funcionam no Eclipse também :)

3. PHP Debug

Não é um recurso muito usado pelos developers PHP, principalmente aqueles que começaram com PHP, como eu, mas sem dúvidas revoluciona a forma de como você desenvolve. Após adotar o debug você não quer mais saber de var_dump() ou print_r() com aqueles: ‘estou aqui’ para verificar o que pegou na aplicação.

Como o PHP é baseado em Web, seria fundamental ele poder ser debugado como se estivesse sendo carregamento pelo browser, não ? E é exatamente isso que permite o Zend Debugger – o Xdebug também =~

Ambas engines de debug podem ser integradas ao Zend Studio, porém, no pacote do Studio já vem a versão mais recente do Zend Debugger e tudo já meio que ajustado para rodar com ele :)

É possível debugar um script PHP Modo terminal e claro, o PHP Web Debug. Para este último você fornece a URL que quer debugar e ele abre a sessão de debugging parando na primeira linha.

Zend Debugger + Studio

Zend Debugger + Studio

Utilizando os breakpoints você pode acompanhar o fluxo da aplicação, valores das variáveis, propriedades dos objetos instanciados e etc.

Claro que nossas aplicações vão muito além de uma simples URL. Temos chamadas com POST, GET e até chamadas em Ajax. O Zend Studio provê uma extension para o Firefox chamada Zend Toolbar. Essa toolbar, permite que você diga ao browser para chamar a sessão de Debug ou Profiling do Studio na próxima página; página atual; Qualquer submit POST ou ainda em qualquer ação no browser. E o pior: funciona !

Zend Studio + Zend Toolbar

Zend Studio - Debug Perpective

A configuração do Zend Debugger na sua máquina é simples, mas acho ser digna de um post inteiro sobre isto. Vou tentar preparar um material e publico aqui a configuração e uso dele no Zend Studio.

4. PHP Profile

Além de debuggar, seria interessante analisarmos o desempenho da aplicação. Ok, segue:

PHP Profile Zend Studio

Chamadas, quantas vezes chamou; quem demora mais; quem é mais rápido; quem chama quem;

PHP profile - Zend Studio

E ele, o fluxo da aplicação:

PHP Profile - Zend Studio

A Zend Toolbar também provê acesso simples ao Profiling. Basta clicar em Profile na toolbar e pronto. O Studio é chamado e o profile da página é feito.

5. Database Management

Para fechar, gerenciamento dos databases. Possui ponte para vários databases incluindo Oracle, MySQL, PostgreSQL e MSSQL.

Database - Zend Studio

Por ele é possível adicionar valores, editar, remover, rodar Queries SQL, backup de estrutura e valores e ele também armazena suas Queries para re-executá-las com um clique quando quiser.

6. Outros

SVN - Zend Studio

SVN, projetos remotos – incluindo acesso SMB ou FTP; WebServices; Históricos locais, SVN, diff, suporte a Git e suporte a quaisquer plugins que rodem no Eclipse, afinal o Zend Studio tem como base o Eclipse.

Já o configurei no Ubuntu lá na Vex, Windows 7 e Arch Linux aqui no escritório pessoal. Tudo muito tranquilo, sempre.

7. Preços e licença

O custo da licença eu acho alto demais para uma IDE de desenvolvimento. Atualmente são US$ 400,00 por ano para ter suporte e atualização sempre. Caso queira, pode comprar a licença por um ano e depois não comprar mais. Neste caso você ficaria com a última versão antes da expiração de seu suporte ilimitado. Em miúdos: enquanto você paga, recebe atualização da versão.

Comprei em setembro, na versão 7. Em Setembro de 2010, vamos imaginar que esteja na versão 9. Terei as licenças para 7, 8 e 9. Expirou e não renovei, mas saiu update da versão 9, a 9.1, por exemplo. Tenho update dela, pois a licença é a mesma da 9. Porém, no lançamento da 10, eu precisaria comprar uma nova licença para ter direito de baixar e usar a o v10.

Minha opinião final: gostei e tenho usado apenas ele desde quando comecei a testá-lo em meados de Setembro de 2009. Tem muita coisa boa e que ajuda muito e mesmo com o alto custo, vale cada centavo pago até o presente momento.

#notamental não é post patrocinado, tão pouco trabalho na Zend, certo ? :)



5 comentários para “Review: Zend Studio 7”

  1. Mauro says:

    A configuração do Zend Debugger na sua máquina é simples, mas acho ser digna de um post inteiro sobre isto. Vou tentar preparar um material e publico aqui a configuração e uso dele no Zend Studio.

    Realmente fça isso, e se possivel para usuários Windows também.

    Excelente artigo cara.

  2. Se dá pra fazer a mesma coisa com Eclipse ou Netbeans, pagar por essa facilidade acho que
    não vale a pena…
    Abs!

    • hlegius says:

      Com exceção do Profile, acho que o resto é totalmente possível apenas no Eclipse.

      De qualquer modo, uma analogia seria os Macs. Enquanto uns utilizam e perdem tempo personalizando seu sistema operacional, outros compram uma máquina onde tudo já está testado e personalizado para aquela realidade. E por isto, pagam o preço.

      Vou investigar o que poderia ser feito usando o Eclipse PHP IDE. Caso achar algo, eu monto um artigo sobre :)

  3. Fernando says:

    Eu tive uma breve experiência com Zend Studio e o que me agradou muito são os recursos com o Zend Framework. Mas como não tenho U$400,00 para investir nele, continuo com o Eclipse PDT, que possui praticamente os mesmos recursos. :)

  4. [...] prometido no Review do Zend Studio 7 , estarei tentando facilitar a configuração do Zend Debugger e também do Zend Studio na [...]

Comente !

Get Adobe Flash playerPlugin by wpburn.com wordpress themes