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: [email protected] 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 [email protected] - 27 3021-1530 / 27 9600-0395 WEB2 Solutions - Inovando, sempre! From: Ulisses-IBIZ Sent: Wednesday, May 25, 2011 10:21 AM To: [email protected] 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: [email protected] 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 [email protected] - 27 3021-1530 / 27 9600-0395 WEB2 Solutions - Inovando, sempre! From: Ulisses-IBIZ Sent: Wednesday, May 25, 2011 9:28 AM To: [email protected] 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: [email protected] 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 <[email protected]> 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] 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: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
