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