[SP-pm] Design de Aplicações Web, como é feito?

Eduardo Almeida eduardo at web2solutions.com.br
Wed May 25 07:14:06 PDT 2011


Então Ulisses, há conectors em Perl sim, não pra todos os objetos (componentes). Baixe a DHTMLX suite, nela vem todos os conectors e todos os componentes.

No site deles eles não divulgam conectors em Perl, por um motivo: Os conectors ali anunciados são todos extressantemente testados, No caso de ASP e Perl (dois ambientes que não são o forte deles), os conectors existem, mas nao são trabalhados oficialmente. Olhe este post aqui monstrando o uso do perl –> http://forum.dhtmlx.com/viewtopic.php?f=18&t=18373 

Mas uma coisa é fato Ulisses, eu não desenvolvo usando um método muito tradicional no mundo Perl, uso o APACHE::ASP, então o que eu fiz, peguei os conectors, e re-escrevi, no meu caso foi até bem facil, peguei as versoes em PHP (juro pra vcs, se lerem sobre isso, nao vao acreditar o quanto PHP é parecido com uma mistura de ASP e Perl) e re-escrevi. No caso do conector das grids(que é o mais complexo) por exemplo, ainda nao re-escrevi todo o conector, porém ja ta feito aqui tudo o que eu preciso, acredito que falta re-escrever uns 5% do conector só.

A DHTMLX é open e paga, depende do seu uso, isso pode ser uma boa oportunidade de “intercambio” entre agente devs consumidores e eles. Eu mesmo mantenho um site (www.dhtmlx.com.br) onde pretendo colaborar muito com a comunidade e com eles. Inclusive ja repassei a eles alguns conectors que fiz pra ASP classico e ASPL (APACHE::ASP com mod_perl)

Eduardo Almeida - Engenharia de Software
eduardo em web2solutions.com.br - 27 3021-1530 / 27 9600-0395

WEB2 Solutions - Inovando, sempre!

From: Ulisses-IBIZ 
Sent: Wednesday, May 25, 2011 10:55 AM
To: saopaulo-pm em mail.pm.org 
Subject: Re: [SP-pm] Design de Aplicações Web, como é feito?

Eduardo, usamos algo semelhante com desenho automático de forms (CRUD) via hashes de configuracao que o engine (Model) trata na boa.

Chega de escrever coisas 'do zero e na raça'. Produtividade é a palavra e a tecnologia certa é apenas um meio de se chegar ao mercado rápido e com qualidade.

Via que o connector DHTMLX tem para PHP/ASP/NET mas não vi módulo no CPAN para Perl 'normal' ... não tem mesmo? o código server como tem para PHP?

http://dhtmlx.com/docs/products/dhtmlxConnector/index.shtml


  From: Eduardo Almeida 
  To: saopaulo-pm em mail.pm.org 
  Sent: Wednesday, May 25, 2011 10:37 AM
  Subject: Re: [SP-pm] Design de Aplicações Web, como é feito?

  Ulisses, essas ferramentas CASES partem de uma ideia bem simples:

  1 – Cria-se protótipos genéricos. Um protótipo genérico seria um módulo, como uma CRUD por exemplo, que você possa poderia usar pra diversas aplicacoes ou módulos com funções distintas.
  2 – Cria-se uma ferramenta CASE, com base em hashs por exemplo, onde esses hash conterão informações sobre o aplicativo, por exemplo:

  # dhxCalendar, ro, ed, txt, ch, coro
      my %fieldstipo = (
          id  => "ro",
          anotacao => "ed",
      );
      
      
      # 0, texto, bol_sn, coro, coro_cliente, coro_usuario, coro_estado
      my %fieldsitensformtipos = (
          id  => 0,
          anotacao => "texto",
      );
      
  #p ou g
      my %fieldstamanhoform = (
          id  => "p",
          anotacao => "g",
      );
      
      # 0, email, telefone, cpf, cep, inteiro, dinheiroperl, dataperl
      my %fieldsmascaraform = (
          id  => 0,
          anotacao => 0,
      );
      
      
      # 0, simples, hidden
      my %fieldscamposobrigatorios = (
          id  => 0,
          anotacao => "simples",
      );

  Cada item desses HASHs é correspondente á um coluna na tabela do DB. Tabela essa “responsável” por esse módulo que está sendo desenvolvido.
  A ferramenta CASE, ja tem a lógica do protótipo antes implementado, dai, percorrendo os itens dos hashs, a tool vai “escrevendo” o código, por exemplo, 

  esse hash:

  my %fieldsnome = (
          id => "ID",
          anotacao => "Anotação",
      )

  serve para “montar” os cabeçalhos da grid, dando nomes as colunas, bem como dando nomes aos labels dos formularios de cadastro e edicao que tb ja sao gerados juntos.

  Entao por exemplo, pra criar um novo modulo, o dev cria a tabela no DB, pega os nomes das colunas, alimentas os hashs da CASE tool, e bingo! ta na mão o novo módulo.

  Hash para um crud de clientes:

  my %fieldsnome = (
          id => "ID",
          nome => "Nome",
          sexo => "sexo",
          estadocivil => "estado civil",
          id_conjuge => "cônjuge",
          nacionalidade => "nacionalidade",
          profissao => "profissão",
          cpf => "CPF",
          rg => "RG",
          orgaoexpedidordorg => "expedidor RG",
          endereco => "endereço",
          bairro => "bairro",
          complemento => "complemento",
          cep => "CEP",
          estado => "UF",
          pais => "país",
          tipodepessoa => "pessoa",
          cnpj => "CNPJ",
          inscricaoestadual => "IE",
          nomefantasia => "nome fantasia",
      );


  Att



  Eduardo Almeida - Engenharia de Software
  eduardo em web2solutions.com.br - 27 3021-1530 / 27 9600-0395

  WEB2 Solutions - Inovando, sempre!

  From: Ulisses-IBIZ 
  Sent: Wednesday, May 25, 2011 10:21 AM
  To: saopaulo-pm em mail.pm.org 
  Subject: Re: [SP-pm] Design de Aplicações Web, como é feito?

  [eduardo] "A DHTMLX é tão felxível que me permitiu, de maneira rápida e fácil, desenvolver ferramentas CASE que constroem módulos inteiros , como CRUDs, em minutos. Alguns módulos chegam a ter 5 mil linhas (ja contendo o model, view e controller)"

  Eduardo, gostei;

  poderia falar mais sobre?

    ----- Original Message ----- 
    From: Eduardo Almeida 
    To: saopaulo-pm em mail.pm.org 
    Sent: Wednesday, May 25, 2011 10:08 AM
    Subject: Re: [SP-pm] Design de Aplicações Web, como é feito?

    Frameworks Javascript++

    Opa, deixa eu expressar meu humilde ponto de vista:

    Trabalho ativamente com DHTMLX , EXT e JQUERY a 4 anos. Vou tentar explanar algumas diferenças entre elas e algumas vantagens.

    1 – Primeiro fator muito importante: JQUERY é ideal para compor sites com animações e recursos visuais, ajuda bastante na validação e formulários, ótima para “xpath” no cliente, mas por ter nível de abstração diferente da EXT e DHTMLX, eu não aconselharia usar JQUERY para “mimificar” interfaces “desktop”, pois quando você começa a trabalhar com muito dado no aplicativo, “o negócio começa a agarrar”.

    Quer um exemplo disto? Faça uma grid e alimente-a com 10 mil registros por exemplo, tente implementar um smartrendering e ainda assim perderá muito em rendimento pros componentes EXT e DHTMLX.

    2 – A EXT é uma lib muito madura e com muitos componentes bacanas já pronto. É ótima para aplicativos de grande porte. Possui uma comunidade grande e ativa (ainda que internacional). Possui muitos conectors (lado server do componente) já pronto em PHP.

    Peca muito em retrocompatibilidade. Possui todo uma cultura JAVA por traz da lib e até mesmo na forma em que os códigos são desenvolvidos. Não é nem um pouco flexível quanto a programar OO e procedural no mesmo aplicativo.

    Possui um “visual designer”, mas que ao meu ponto de vista e de muitos devs EXT, ainda está muito prematuro, e além de não ajudar tanto assim em aplicativos complexos, ele acaba “viciando” programadores preguiçosos.

    Possui lib própria pra mobiles.

    3 – A DHTMLX não é tão madura quanto a EXT, nem possui uma comunidade muito ativa e é bem mais nova que a EXT. Possui excelentes componentes que não perdem em nada para os componentes EXT, pelo contrário, possui componentes tão poderoso quanto e ainda mais flexíveis, lhe permitindo fazer persistência com JSON, XML e outros, diferentemente da EXT que é focada no JSON.

    A DHTMLX é bastante flexível, lhe permite trabalhar facilmente com OO ou procedural no mesmo aplicativo. Não é “apegada” a nenhuma cultura “lado server” e desenvolve seus conectors em diversas linguagens, inclusive Perl.

    Pra aprender DHTMLX, o “cabra” precisa ter como requisito somente conhecimentos em Javascript. Lógico que saber xhtml “na ponta do dedo” faz toda diferença.

    Apostei na DHTMLX porque ao meu ver, ensiná-la para um team inteiro, é bem mais barato e bem mais rápido.

    A DHTMLX é tão felxível que me permitiu, de maneira rápida e fácil, desenvolver ferramentas CASE que constroem módulos inteiros , como CRUDs, em minutos. Alguns módulos chegam a ter 5 mil linhas (ja contendo o model, view e controller)

    Bom resumido é isso, se alguem tiver mais interesse sobre o assunto, poderemos discutir isso em outro tópico.

    Att

    Eduardo Almeida - Engenharia de Software
    eduardo em web2solutions.com.br - 27 3021-1530 / 27 9600-0395

    WEB2 Solutions - Inovando, sempre!

    From: Ulisses-IBIZ 
    Sent: Wednesday, May 25, 2011 9:28 AM
    To: saopaulo-pm em mail.pm.org 
    Subject: Re: [SP-pm]Design de Aplicações Web, como é feito?

    entrando nessa salada...

    tem tb frameworks para Javascript (libs) que te ajudam a desenhar em JS (no browser/client) telinhas bonitinhas e com construções (dialogs, layout, listas, grids, .....) pré-prontas; as aplics web ficam com a cara das aplics desktop.

    como sempre, temos várias opções (ext-js, jquery, dojo, .....) <=== ai vai outra discussao: qual usar? e se usar....

    como é um saco (eu acho) configurar e usar essas libs, o pessoal da ext-js criou um Designer para facilitar a nossa vida:

    http://www.sencha.com/ lib ext-js
    http://www.sencha.com/products/designer/ designer para lib ext-js


      From: Hernan Lopes 
      To: saopaulo-pm em mail.pm.org 
      Sent: Wednesday, May 25, 2011 2:14 AM
      Subject: Re: [SP-pm]Design de Aplicações Web, como é feito?


      Mojolicious e o CatalystFramework não tem nada a ver com layout. Estes apenas te oferecem meios facilitadores para gerenciar os protocolos web.

      Para fazer layout vc precisa:
      - Inkscape
      - Photoshop
      E depois vc precisa transformar isso em html.. vc pode usar o Aptana ou o Notepad...
      Então, digamos que vc faça um formulário tipo o que vc vê por ai, 
      esse formulário tem que enviar a informação para algum lugar ex:
      site.com.br/formulario


      esse /formulário pode ser um método na sua programação/framework.
      E, de acordo com o protocolo web vc pode ter métodos http GET e POST
      então digamos que vc clica no link "site.com.br/formulario" isso seria um GET e 
      por sua vez deve apenas apresentar o formulário vazio para vc preencher. E 
      quando esse formulario é apresentado vc pode ver o fonte e vai ver que existe uma tag 
      <form method="POST" action="site.com.br/formulario">...</form>
      essa tag indica que esse formulario deve utilizar o methodo POST então, quando vc 
      preencher e clicar 'Enviar', o formulario vai ser enviado. Nesse momento o framework
      apresenta a você que o método é POST e assim vc pode tomar a decisão que quiser.. ou seja
      pode validar os dados e aceitar e mostrar uma mensagem de successo!

      espero que vc entenda 


      2011/5/24 Teddy Hammer <teddyhammer em hotmail.com>

        Ae galera!
        Vcs comentaram sobre Mojolicious e o CatalystFramework. Dei uma olhada por cima e não sei se entendi o que realmente eles fazem.
        O código deles é embutido dentro do HTML ou eles fazem o Designer da página, por exemplo, de um formulário de cadastro, como por exemplo o DreamWeaver faz?
        Se não for, como vcs fazem o desenvolvimento (tipo como faz um Web Design !) das páginas? Vcs usam qual ferramenta pra isso?

        Alguém pode me explicar como isto eh feito?


        =begin disclaimer
          Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
        SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
        L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
        =end disclaimer






--------------------------------------------------------------------------
      =begin disclaimer
         Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
      SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
      L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
      =end disclaimer



----------------------------------------------------------------------------
    =begin disclaimer
       Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
    SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
    L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
    =end disclaimer



----------------------------------------------------------------------------
    =begin disclaimer
       Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
    SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
    L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
    =end disclaimer



------------------------------------------------------------------------------
  =begin disclaimer
     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer



------------------------------------------------------------------------------
  =begin disclaimer
     Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
  =end disclaimer



--------------------------------------------------------------------------------
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110525/2098458a/attachment-0001.html>


More information about the SaoPaulo-pm mailing list