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

Eduardo Almeida eduardo at web2solutions.com.br
Wed May 25 06:37:04 PDT 2011


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
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110525/8b15aebd/attachment-0001.html>


More information about the SaoPaulo-pm mailing list