terça-feira, 24 de maio de 2016

pgAdmin 4 - O elefante se aproxima da linha de chegada

Artigo escrito por Dave Page, traduzido com autorização. Publicado originalmente em pgAdmin 4 - The elephant nears the finish line
Print de tela do pgAdmin 4

Como você deve saber, muitos de nós da equipe pgAdmin tem trabalhado duro no pgAdmin 4 há algum tempo. pgAdmin 4 é uma reescrita completa do pgAdmin (o quarto, como você pode imaginar), após a versão anterior ter chegado ao fim da manutenção de sua vida depois de 14 anos de desenvolvimento.


O trabalho no projeto começou devagar, quase dois anos atrás, no entanto a equipe da EnterpriseDB tem aumentado o ritmo de desenvolvimento ao longo dos últimos meses. Neste momento, estamos nos aproximando da versão alpha, esperamos tê-la em torno de algumas semanas.


Arquitetura




Esta nova aplicação é projetada para operação tanto no ambiente de trabalho (desktop) quanto um servidor web. Escrito em Python usando o framework Flask para o back-end, e Javascript / jQuery / Backbone para o frontend, ele pode facilmente ser implementado como uma aplicação WSGI para vários usuários em praticamente qualquer ambiente de rede.


Um pequeno aplicativo permite que você execute o pgAdmin 4 como uma aplicação de desktop - esta é uma Qt executável que incorpora um interpretador Python e um navegador web, juntamente com a aplicação principal em um único pacote que pode ser instalado em um computador com versões anteriores do pgAdmin.

Funcionalidades


Embora a funcionalidade central do pgAdmin 4 permanece semelhante ao pgAdmin 3, a uma série de mudanças que fizemos:

  • O suporte para as versões de banco de dados sem suporte foi descartada.
  • Nós não implementamos suporte para alguns tipos de objetos que não foram anteriormente utilizados na ferramenta, tais como operadores de classes e famílias.
  • Não implementamos (ainda) algumas das ferramentas que não funcionam tão bem em pgAdmin 3, como o construtor de consulta gráfica ou designer de banco de dados (que sempre foi totalmente desativado por padrão).
  • A ferramenta de consulta e Editar Grade foram fundidas em uma única ferramenta. Em versões futuras, estaremos melhorando ainda mais a funcionalidade para permitir fazer alterações diretamente no resultado das Querys (quando for determinado que o resultado da consulta pode ser alterado). Mas, por agora, a mudança é permitida quando a origem é de uma única tabela e tipo de dado é conhecido, tendo sua respectiva chave primária.
  • A interface de usuário é mais flexível do que nunca, permitindo guias para conter e reorganizar em mais maneiras do que antes.
  • Nós passamos tempo redesenhando alguns dos paradigmas de interface do pgAdmin 3. Longe estão os controles de lista com Adicionar / Remover botões, substituído com o que chamamos de controles de grade sub-nó que permitirão a edição na grade de valores de chave, com mais detalhes disponível quando necessário em linhas expansíveis.
  • Os controles de lista com Adicionar / Remover botões, substituímos com o que chamamos de controles de grade sub-nó, que permitirão a edição na grade de valores de chave, com mais detalhes disponíveis quando necessários em linhas expansíveis.
  • Nós também gastamos tempo pensando sobre como torná-lo mais rápido, minimizando a necessidade de alternar entre janelas, usando caixas de combinação pesquisáveis e muito mais.
  • A interface é muito mais atraente, fazendo uso de grupos de controle e regiões expansíveis para tornar as coisas mais fáceis de entender.


Print's


Sem mais o que falar, aqui estão alguns prints (não concluídos).


Print do pgAdmin 4
Interface principal - Editando as propriedades de uma função.

Print do pgAdmin 4

Definindo a ACL em uma função.

Print do pgAdmin 4

Adicionando um membro a um tipo composto usando o controle de grade sub-nó.

Print do pgAdmin 4

A ferramenta de consulta e Editor de dados.

Print do pgAdmin 4
Debbuger de procedures.

Equipe


Como você pode imaginar, tivemos muito trabalho para chegar a esta fase, e eu realmente preciso de expressar a minha gratidão para com aqueles que contribuíram, assim como a equipe de gerenciamento executivo da EnterpriseDB que me permitiu envolver tantas pessoas para este projeto:

Lideres do projeto.

  • Ashesh Vashi (gerente de equipe de engenharia, guru do código).
  • Karen Blatchley (gerente do projeto).

Equipe de desenvolvimento

  • Khushboo Vashi
  • Akshay Joshi
  • Arun Kollan
  • Harshal Dhumal
  • Murtuza Zabuawala
  • Neel Patel
  • Sanket Mehta
  • Surinder Kumar

Empacotadores

  • Muhammad Aqeel
  • Paresh More
  • Sandeep Thakkar

Garantia da Qualidade (QA)

  • Priyanka Shendge
  • Fahar Abbas

Claro, a também os membros da comunidade que estão começando a contribuir com correções e outras melhorias, como Thom Brown (em seu próprio tempo, não EnterpriseDB), Seçkin Alan, Ronan Dunklau e Prasad Somwanshi, que (juntamente com outros que eu esqueci) merecem um agradecimento.


Quer ajudar ou saber mais?



Se você quiser ajudar, você pode verificar o código e começar a testar. Nós ainda não recursos incompleto (por exemplo, o nó Tabelas no treeview ainda está em desenvolvimento), mas estamos muito perto. Sinta-se livre para experimentar o código, e relatar ou melhora-lo, corrigir eventuais erros ou problemas que você possa encontrar. Se você deseja começar a trabalhar em novos recursos também é bem-vindo, mas por favor, envie primeiramente para a lista de hackers PostgreSQL sua sugestão, para  garantir que o seu trabalho não é algo que já está em nosso plano de projeto!

Se alguém gostaria de falar mais sobre pgAdmin 4, eu vou estar em PGConf.US na próxima semana - os organizadores me conhecem bem e devem ser capaz de ajudá-lo a me encontrar para um bate-papo ou de demonstração. Vejo você lá!

15 comentários:

  1. Excelente! Que seja liberado logo para explorarmos todo o potencial da nova ferramenta!

    ResponderExcluir

  2. it’s ok to show some appreciation and say ‘great post’
    Asp .NET developer

    ResponderExcluir
  3. baixei pra fazer um teste, ta muit bugado ainda ao menos na versao desktop, muito lento e olha q meu pc e um i7 com 12gb de ram e hd ssd....

    ResponderExcluir
  4. baixei mas não to conseguido restaurar banco nele

    ResponderExcluir
  5. Olá!
    Estou tendo problemas para restaurar um banco. Fica eternamente restaurando.
    Realmente... ficou bem pesadinho.
    Mas, vamos testando.
    Realmente bem interessante esse novo esquema.

    Baixei o III e está tudo lindo aqui com o pg 9.6

    ResponderExcluir
  6. Decepcionado!
    Pra mim ficou muito ruim (Já xinguei pra caramba)...
    Lento demais, interface web muito ruim, bug nervoso de restauração de backup, enfim, desculpe a palavriado mas ficou uma bosta.
    Voltando pra versão anterior em 3...2...1...

    ResponderExcluir
  7. Não vi vantagem, preferia a versão anterior, esta ficou muito lenta.

    ResponderExcluir
  8. Acabei de mudar para o pgAdmin3 novamente! Decepcionado!

    ResponderExcluir
  9. Muito ruim mesmo. Voltei para a versão 3...
    Tenho a impressão de que fizeram isto para forçarmos a comprar um outro, que é pago.

    ResponderExcluir
  10. Vou voltar para a versão anterior também, encontrei vários bugs.
    1- Se executar uma consulta e tiver algum erro, não funciona nunca mais.
    2- Não encontrei uma forma de comentar parte do código, não aceita comentários, ou pelo menos eu não consegui descobrir como faz...

    Se alguém puder me dar um Help.

    ResponderExcluir
  11. Galera, quando tento usar o pgAdmin4 v1.3 acontece o seguinte... consigo iniciar o programa, a interface inicial está ok, todavia, quando clico para conectar em um server, também abre os bancos existentes, agora, quando clico para abrir algum banco... já éra, trava, dá uma mensagem do windows... pgAdmin 4 desktop runtime parou de funcionar!!! Não consigo ir pra frente!!!

    ResponderExcluir
    Respostas
    1. Olá Moisés.

      Infelizmente a versão 4 apresenta vários problemas, como é possível se notar pelos comentários dos colegas.

      Assim como os demais, eu também retornei a versão 3, mas mantenho a versão 4 atualizada para avaliar a evolução.

      Excluir
  12. Extremamente lento, Interface ruim. Voltei pro 3

    ResponderExcluir