Gerador de código Vraptor+Hibernate+Taglib  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

Bom pessoal é com grande felicidade que venho a anunciar e disponibilizar aqui no GUJ o link para a minha primeira ferramenta gratuita.

Primeiramente me chamo Jonatan sou formado em analise de sistemas pela PUC campinas a 5 anos , tenho 25 anos e 5 anos de experiencia com desevolvimento de software sendo 1 apenas em linguagem java.

Bom eu batizei o projeto inicialmente de VRaptor Case,basicamente ele é um gerador inicial de código fonte de sistema ou seja com apenas algumas classes cadastradas o software te disponibiliza tudo ligado a dao,modelo anotado com hibernate,controlador pronto e view pronta.

Ou seja dias e dias de trabalho em apenas alguns minutos.

Sei que muita gente torce o nariz quando se fala de gerador de código. Mas o código está todo desenhado com boas praticas , frameworks conceituados e estaveis.
A grande vantagem que o projeto é sempre seu,ou seja, tudo que é gerado é apenas ligado ao framework que voce escolhe, que por enquanto é hibernate,vraptor e um taglib que eu criei que pode ser trocada facilmente por suas taglibs ou pelo bom e velho jsp.

O projeto é novo e ainda tem muito chão a percorrer e não quero 1 centavo por isso, é so cadastrar no site e usar como bem entender.
A vantagem do projeto que ele é online e no futuro pretendo que o desenvolvimento seja colaborativo.

Digamos que essa seria a versão beta para testes e conto com a ajuda de voces para a ferramenta crescer ainda mais.

Bom ja vou deixar respondido todos os possíveis questionamento que possam aparecer.

1 - O código fonte é aberto?

Resposta : Não. A ferramente é toda gratuita mas prefiro não abrir o fonte pelo seguinte motivo. Se um empresa ve potencial na ideia pega o fonte e o modifica para venda , acaba que toda a comunidade sai no prejuizo pq eu nao quero pagar por esse tipo de ferramenta e por isso estou deixando ela gratuita.

2 - O código gerado tem dependencia com a ferramenta?

Resposta : Não. A partir do momento que voce exporta (.ZIP) o projeto voce não fica da dependencia da ferramenta pra nada , ja que ele gera o código de acordo com o framework escolhido, voce fica preso ao framework que voce escolheu.

3 - Mas e se voce chegar a vender a ferramenta pra alguem?

Resposta : Se um dia eu receber a proposta de alguma compania interessada em comprar a ferramenta e eu chegar a vender ai sim o codigo fonte será repassado a turma que desenvolve e mantem o Vraptor no caso a caelum (se assim eles quiserem adotar o filho) porque creio eu que a empresa contribuiu muito num projeto totalmente brasileiro. E isso dara ainda mais força ao framework. Assim não haverá prejuizo pra ninguem pois outra pessoa dará continuidade ao projeto.

4- Ha alguma taxa a ser paga pra utilizar a ferramenta?
Resposta : Não.Não quero 1 centavo de ninguem , apenas vou deixar um link para doações se alguem quiser contribuir com algo, no mais o cadastro é rapido e gratuito.

5- Posso dar ideias para o projeto?
Resposta : Pode e deve.A ideia é tornar a ferramenta completa. Alem do que o guj será o ponto central de discussões de idéias.

6 - Poderei ajudar voce a desenvolver o projeto?
Resposta : Sim . Mas eu apenas vou disponibilizar o que vai precisar ser feito para essa geração .
Vamos supor.

"Aaa jonatan queria que meu controlador fosse o MentaWai e minha view o extjs"
Beleze ai eu falo .
Olha cria um fonte java que implementa essa interface e esse metodos ai voce recebe por referencia uma classe....etc..etc e dou os caminhos para a implementação.
Pois creio eu ser o unico modo, ja que nao vou abrir o fonte.


Quanto aos detalhes técnicos :

Ao exportar um projeto completo o sistema te disponibiliza.

Todos os cruds inicias que geram a base para o sistema.
Autenticação já implementada com perfil de acesso baseado em ação.
Toda a hierarquia de um projeto java com as libs necessarias e mais recentes sempre incluidas.
Classe para geração inicial do banco de dados.
Todos os daos,controller e model devidamente anotado.

Bom chega de blablabla


o link para a ferramenta é

http://www.jslsolucoes.com.br/casevr

Ja tem um usuario cadastrado com um projeto de prontuario de farmacia feito para quem tiver interessado apenas em olhar o poder da ferramenta.

Usuario : user
Senha : 123456

Ou se desejar fazer um cadastro tambem ja está no ar.
Apenas tem que informar um login que voce desejar seu email.
Assim voce recebera a senha de acesso por email que posteriormente o software no primeiro acesso te obrigara a trocar.

Lembrando a todos que a iniciativa é totalmente brasileira, que nem sempre somos apoiados como deveria.

Grande abraço a todos.
[Email]
zoren
GUJ Master
[Avatar]

Membro desde: 30/06/2008 08:32:33
Mensagens: 1003
Offline

Legal a iniciativa, qdo tiver tempo vou dar uma olhada
[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 5632
Offline

Mto boa a iniciativa, boneazul =)

Mas deixa eu esclarecer um mal entendido comum:

boneazul wrote:

1 - O código fonte é aberto?

Resposta : Não. A ferramente é toda gratuita mas prefiro não abrir o fonte pelo seguinte motivo. Se um empresa ve potencial na ideia pega o fonte e o modifica para venda , acaba que toda a comunidade sai no prejuizo pq eu nao quero pagar por esse tipo de ferramenta e por isso estou deixando ela gratuita.

Quando vc faz um projeto open-source, vc pode colocar uma licença nele. Existem muitas delas: http://www.opensource.org/licenses
Várias delas proíbem que vc pegue o código e coloque dentro de um produto e venda. O VRaptor por exemplo tem a licença Apache 2.0,
que vc pode usar livremente em qqer projeto, desde que mantenha os créditos pros criadores...

A lógica é a seguinte: se o código é fechado, só vc e mais algum conjunto pequeno de pessoas vai poder contribuir com a ferramenta. Se o código é aberto,
qualquer pessoa pode contribuir com o código, e qto mais contribuições maior/melhor fica o projeto...

Minha sugestão é que vc abra o código, e coloque uma licença tipo a LGPL (http://www.opensource.org/licenses/lgpl-2.1.php) que, em resumo, diz que
qqer um pode usar a ferramenta, mas se um projeto for usar pedaços do código fonte dela ele tb tem que ser LGPL, ou seja, tb vai ser open-source


De qqer forma, parabéns =)

--
Caelum
www.caelum.com.br

boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

Lucas Cavalcanti wrote:Mto boa a iniciativa, boneazul =)

Mas deixa eu esclarecer um mal entendido comum:

boneazul wrote:

1 - O código fonte é aberto?

Resposta : Não. A ferramente é toda gratuita mas prefiro não abrir o fonte pelo seguinte motivo. Se um empresa ve potencial na ideia pega o fonte e o modifica para venda , acaba que toda a comunidade sai no prejuizo pq eu nao quero pagar por esse tipo de ferramenta e por isso estou deixando ela gratuita.

Quando vc faz um projeto open-source, vc pode colocar uma licença nele. Existem muitas delas: http://www.opensource.org/licenses
Várias delas proíbem que vc pegue o código e coloque dentro de um produto e venda. O VRaptor por exemplo tem a licença Apache 2.0,
que vc pode usar livremente em qqer projeto, desde que mantenha os créditos pros criadores...

A lógica é a seguinte: se o código é fechado, só vc e mais algum conjunto pequeno de pessoas vai poder contribuir com a ferramenta. Se o código é aberto,
qualquer pessoa pode contribuir com o código, e qto mais contribuições maior/melhor fica o projeto...

Minha sugestão é que vc abra o código, e coloque uma licença tipo a LGPL (http://www.opensource.org/licenses/lgpl-2.1.php) que, em resumo, diz que
qqer um pode usar a ferramenta, mas se um projeto for usar pedaços do código fonte dela ele tb tem que ser LGPL, ou seja, tb vai ser open-source

De qqer forma, parabéns =)


Um lucas não sabia dessa licença não. Mas mesmo assim o duro é saber se alguem está ou não usando sua ferramenta como base pra algo....vamos supor a empresa X pega meu fonte modifica tudo que é nome de classe metodos ..blablabla.....primeiro que ninguem vai ficar pesquisando se ele ta usando o meu fonte por tras...prefiro eu e mais alguns de confiança mechendo do que correr esse risco entende? No mais prefiro continuar assim no começo ja que o escopo dele não é tão grande agora..outra coisa tem que ver a aceitação da ferramenta também antes de pensar tudo isso.

Vo pensar na sua sugestão quanto a LGPL no mais podem palpitar a vontade em recursos ou erros que a ferramenta apresenta...agora mesmo estou em um projeto usando ela e achei alguns bugs..e algumas coisas que faltaram...pouca coisa..


Mas de cara os resultados são ótimos, eu previ 10 dias para a base do sistema, so mechi algumas horas e ja esta rodando um prototipo funcional de 60% do sistema.

Minhas ideias são muitas pro futuro dela,geração de testCases,desenvolvimento colaborativo,importacao de fonte java,importacao de uml ..etcetcetc..futuro promissor..

This message was edited 1 time. Last update was at 03/03/2010 16:24:39

[Email]
davisnog
JavaEvangelist

Membro desde: 21/05/2007 21:05:18
Mensagens: 437
Localização: Blumenau/SC
Offline

Baixei o projeto que já esta pronto o ProtoFarma, e gostei do que vi.

Só uns pitacos, heheh.

As views poderiam ter a opção de gerar em tabless (não sei se já existe essa opção), e não em tabelas.
Como vc já citou, mais vale reforçar, seria gerar tbm as classes teste unitários, entre outros testes.

Boa sacada.

- DAVI NOGUEIRA -
Assim como um pai se compadece de seus filhos, assim o SENHOR se compadece daqueles que o temem. Salmos 103:13

@davisnog
[MSN]
boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

davisnog wrote:Baixei o projeto que já esta pronto o ProtoFarma, e gostei do que vi.

Só uns pitacos, heheh.

As views poderiam ter a opção de gerar em tabless (não sei se já existe essa opção), e não em tabelas.
Como vc já citou, mais vale reforçar, seria gerar tbm as classes teste unitários, entre outros testes.

Boa sacada.


bom depende de qual view estamos falando.

Na view que lista eu uso o displaytag que ja tem muita coisa pronta(paginação,exportação,ordenacao,etc).
Se souberem de tag lib melhor por favor compartilhem, ate usando ajax pois sei que a displaytag usa muito recursos de session o que as vezes pesa no servidor,
algo ajax sob demanda seria melhor..etc.

Na view de form realmente faço uso de tabelas pra renderizar o layout.
Tem muita discussão em torno de tabless e web semantica ja li varios artigos falando que websemantica é balela outros que é importante pra meta dados etcetc , pra mim o que o realmente importa é que "funcione" e bem pois usuario num vai ficar te falando que voce ta usando table em vez de "fieldset" com "label for" e que no fim
a tela vai ficar igual!!

Mas se souber de alguma tag lib pronta pra retirar essa table dos forms me passa a referencia que analiso a implementação.
Ou mesmo modificar a taglib exportada hoje dos componentes de form,formrow etc;

Quantos aos pitacos podem e DEVEM ser feitos.

Peguei varios mini bugs que vou consertar hoje de um projeto bem maior, como disse esta em beta teste.
Esse projeto maior ja são 33 classes a serem geradas ou seja um sistema de pequeno indo pra médio porte.

Assim que estabilizar esse primeira versão com esses bugs consertados vou fazer um lista de novos recursos a serem implementados e disponibilizo aqui para discussões.

Obrigado pelo comentário.



[Email]
boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

Bom pessoal depois de vários bug fixes a ferramenta ganhou varias novidades , vo listar o que mudou

1 - Bug fixes da versão teste
2 - Suporte a sequence
3 - Suporte a geracao de campos em maiusculo
4 - Suporte a auditoria de tabelas (envers distribuido e configurado junto)
5 - Suporte a ordenação de campos
6 - Relacionamento ja vem com LAZY por padrão
7 - Suporte e formatação a campos tipo moeda e datas
8 - Melhoramento da taglib embutida
9 - Interface embutida para categoria de ações , cadastro de ações e paths que seguem para a autorização de acesso action based.

Deem uma olhada no começo do tópico sobre a ferramenta , é gratuita.
Lembrando que todos essas melhorais foram pedidos de usuarios que estao começando a curtir a ferramenta.

Bom as próximas novidades serão para o proximo mes:

Desenvolvimento colaborativo. (Voce ira poder convidar varios amigos para desenvolver um projeto em conjunto).
Importador de classe java (Engenharia reversa de .java para a aplicação) modelo bottom up.
Geração de suites de teste pros controladores e junits.
Geração de relatórios básicos.

Bom espero que usem está sendo de grande ajuda pra muita gente , até mais.

Algumas métricas coletadas de projetos pilotos :

Projeto protofarma - Estimado 7 dias (sem ferramenta) - Realizado em 1 dia (com toda perfumaria) - 7 Classes
Projeto contratos - Estimado 14 dias - Realizado em 3 (com toda perfumaria) - 45 Classes
Projeto myFamily - Estimado 3 dias - Realizado em 2 horas (com toda perfumaria) - 4 Classes






This message was edited 1 time. Last update was at 10/03/2010 01:27:36

[Email]
diego.bevilaqua
What is classpath?

Membro desde: 18/01/2010 09:10:18
Mensagens: 7
Localização: Jataí - Goiás - Brasil
Offline

Ahn, pelo jeito eu não saquei muito bem como funciona a ferramenta

Como eu faria pra ver os projetos modelo que você mencionou?

Procurei por todos os menus, mas não encontrei
[MSN]
boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

diego.bevilaqua wrote:Ahn, pelo jeito eu não saquei muito bem como funciona a ferramenta

Como eu faria pra ver os projetos modelo que você mencionou?

Procurei por todos os menus, mas não encontrei


Entao tem um usuario em que o projeto foi montado....o primeiro que eu citei nas métricas (protofarma)
.. os outros foi experiencia com projetos que eu fiz isso na minha conta que crei....
Cada conta pode criar N projetos..

Lá no post de cima tem explicando que eu tinha deixado um usuario pra quem não quisesse abrir conta e so pra ver o poder da ferramenta...

Pra acessar use os seguintes dados:
usuario : user
senha : 123456

E peça pra exportar o projeto.Ou se apenas quiser olhar os dados,la ja da pra ter ideia do que ela gera.

O sistema só mostra os seus projetos ou seja voce não ve projetos de outras contas,por questão de segurança, se voce criou uma conta com certeza não ira ver mesmo esse projeto modelo ,pois ele esta pra outra conta de acesso no caso a user.

Tenta ai tendo duvidas da um toque!!

[Email]
diego.bevilaqua
What is classpath?

Membro desde: 18/01/2010 09:10:18
Mensagens: 7
Localização: Jataí - Goiás - Brasil
Offline

hehehehe, agora que vi o que tava fazendo de errado

Criei um usuário pra mim, que ÓBVIAMENTE não tinha projeto nenhum, já que eu não fiz nada ainda

Mas valeu, vou olhar de novo agora, com o usuário que você mencionou.
[MSN]
softwork
JavaBaby
[Avatar]

Membro desde: 15/04/2006 23:22:33
Mensagens: 90
Localização: São Paulo - SP - Brasil
Offline

Parabéns amigo!

Gostei muito da ideia e principalmente pela facilidade de uso.

PS: Esta em manutenção o link http://www.jslsolucoes.com.br/casevr/geral/login ?

Mensagem de erro:

HTTP Status 404 - /casevr/geral/login

This message was edited 1 time. Last update was at 16/03/2010 15:42:51


Dennys S. Sobrinho

Analista e Desenvolvedor Sênior
Chefe adjunto do Centro de Informática - FAESP-SENAR/SP
http://www.faespsenar.com.br
(11) 3258-7233 Ramal 174

Plante, cultive e colha a Paz.
[WWW] [MSN]
lscosta
Debugger

Membro desde: 26/11/2009 11:01:08
Mensagens: 59
Offline

Buenas!

Esses tempos cansei de escrever CRUD's e criei algo semelhante. Porém não é uma ferramenta completa como a citada nesse tópico. O propósito era gerar cruds num padrão que eu tinha estabelecido, e para isso a solução mais simples foi criar templates do meu código, usando Velocity.

A idéia é: você cria um fluxo completo (Pojo, Dao, Service, Repository, Controler, Jsp, etc) para uma entidade, ao seu modo. Depois você o transforma em template para os próximos. O fato de usar o Velocity (uma template engine) te possibilita alguma programação dentro do template, o que pode ser útil para gerar atributos, getters e setters, campos de tela, etc.

Por ser baseado na idéia de templates, o uso não fica restrito a nenhum framework ou linguagem. Você pode usá-lo no seu framework caseiro para PHP, por exemplo..

Ainda não criei uma interface gráfica para ela, uso via linha de comando, da seguinte forma:



Onde "codeit" é o nome idiota da ferramenta e "NomeDoTemplate" é o nome do diretório que contém os templates. Dessa forma posso manter templates para diferentes aplicações.

Há um único arquivo de configuração para cada diretório de templates. O propósito dele é informar o nome e o local onde cada arquivo gerado deve ser salvo. Dessa forma, posso distribuir o código gerado no seu devido 'pacote' ou 'diretório' dentro da aplicação.

Há ainda a possibilidade de se informar o nome do campo na base de dados, para mapeá-lo com outro nome na aplicação. Nesse caso, antes do TipoAtributo, informo o nome_campo_bd:



No meu template, gero a annotation @Column(name= "nome_campo_bd")... Mas pode fazer qualquer outra coisa...

Enfim, meu único propósito era automatizar a geração dos benditos cruds, com suas validações e tudo que se repete. A ferramenta é bem simples e totalmente gratuita. Pode-se fazer absolutamente o que quiser dela, até contribuir!

Os fontes estão em: http://github.com/lucianocosta/CodeIt

Se quiser baixar somente o jar de execução com exemplos de uso, vá direto para a aba Downloads.


To Do:

# EDIÇÃO:
#
# FUNCIONALIDADE REMOVIDA! =)
# motivo: discussão nas próximas 4 ou 5 mensagens desse tópico

Criar interface gráfica

Como desenvolvedor MUITO preguiçoso
Quero uma interface gráfica onde eu possa escolher a Entidade e os campos para os quais quero gerar código
De modo que me aborreça ainda menos para gerar meus benditos cruds

   Cenário: Conectando ao BD e exibindo tabelas
     Dado que informei a string de conexão com o banco
     Quando clicar em listar tabelas
     Então devo ver a lista de tabelas

   Cenário: Selecionando campos das tabelas
     Quando eu clicar em uma tabela
     Então devo ver a lista de campos daquela tabela
     E deve ser possível marcar os campos para os quais quero gerar código
     E deve ser possível informar o tipo e nome de atributo para cada campo

   Cenário: Gerando código
     Dado que selecionei o template que quero utilizar (combo)
     E informei tipo e nome de atributo para os campos selecionados
     Quando eu clicar em 'Gerar Código'
     Então devo dar um sorriso ao ver que tudo funcionou como esperado

=)

This message was edited 2 times. Last update was at 18/03/2010 22:50:31


-------------------------------
Luciano Costa
@lscosta
boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

softwork wrote:Parabéns amigo!

Gostei muito da ideia e principalmente pela facilidade de uso.

PS: Esta em manutenção o link http://www.jslsolucoes.com.br/casevr/geral/login ?

Mensagem de erro:

HTTP Status 404 - /casevr/geral/login


Opa softwork entao nem tinha visto que estava fora, sem querer apaguei o .war do projeto e o tomcat fez undeploy do projeto to subindo agora de novo o projeto...

This message was edited 1 time. Last update was at 18/03/2010 21:01:33

[Email]
boneazul
JavaGuru

Membro desde: 29/10/2007 17:13:59
Mensagens: 246
Offline

lscosta wrote:Buenas!

Esses tempos cansei de escrever CRUD's e criei algo semelhante. Porém não é uma ferramenta completa como a citada nesse tópico. O propósito era gerar cruds num padrão que eu tinha estabelecido, e para isso a solução mais simples foi criar templates do meu código, usando Velocity.

A idéia é: você cria um fluxo completo (Pojo, Dao, Service, Repository, Controler, Jsp, etc) para uma entidade, ao seu modo. Depois você o transforma em template para os próximos. O fato de usar o Velocity (uma template engine) te possibilita alguma programação dentro do template, o que pode ser útil para gerar atributos, getters e setters, campos de tela, etc.

Por ser baseado na idéia de templates, o uso não fica restrito a nenhum framework ou linguagem. Você pode usá-lo no seu framework caseiro para PHP, por exemplo..

Ainda não criei uma interface gráfica para ela, uso via linha de comando, da seguinte forma:



Onde "codeit" é o nome idiota da ferramenta e "NomeDoTemplate" é o nome do diretório que contém os templates. Dessa forma posso manter templates para diferentes aplicações.

Há um único arquivo de configuração para cada diretório de templates. O propósito dele é informar o nome e o local onde cada arquivo gerado deve ser salvo. Dessa forma, posso distribuir o código gerado no seu devido 'pacote' ou 'diretório' dentro da aplicação.

Há ainda a possibilidade de se informar o nome do campo na base de dados, para mapeá-lo com outro nome na aplicação. Nesse caso, antes do TipoAtributo, informo o nome_campo_bd:



No meu template, gero a annotation @Column(name= "nome_campo_bd")... Mas pode fazer qualquer outra coisa...

Enfim, meu único propósito era automatizar a geração dos benditos cruds, com suas validações e tudo que se repete. A ferramenta é bem simples e totalmente gratuita. Pode-se fazer absolutamente o que quiser dela, até contribuir!

Os fontes estão em: http://github.com/lucianocosta/CodeIt

Se quiser baixar somente o jar de execução com exemplos de uso, vá direto para a aba Downloads.


To Do:

Criar interface gráfica

Como desenvolvedor MUITO preguiçoso
Quero uma interface gráfica onde eu possa escolher a Entidade e os campos para os quais quero gerar código
De modo que me aborreça ainda menos para gerar meus benditos cruds

   Cenário: Conectando ao BD e exibindo tabelas
     Dado que informei a string de conexão com o banco
     Quando clicar em listar tabelas
     Então devo ver a lista de tabelas

   Cenário: Selecionando campos das tabelas
     Quando eu clicar em uma tabela
     Então devo ver a lista de campos daquela tabela
     E deve ser possível marcar os campos para os quais quero gerar código
     E deve ser possível informar o tipo e nome de atributo para cada campo

   Cenário: Gerando código
     Dado que selecionei o template que quero utilizar (combo)
     E informei tipo e nome de atributo para os campos selecionados
     Quando eu clicar em 'Gerar Código'
     Então devo dar um sorriso ao ver que tudo funcionou como esperado

=)


Opa olá lscosta tudo bem?

Então cara essa abordagem de interface que voce gostaria de ter se voce for implementar não é legal de se usar na minha opinião , pois voce usa uma abordagem "bottom up" ou seja debaixo pra cima tenho meu banco e parto pra classes e afins(app,dao)..o que nem sempre é legal...não que não seja usual...ai depende de como sua empresa começa um projeto eu prefiro sair de um modelo mais alto possivel (UML por exemplo) porque ja consigo ter uma documentação consistente de várias coisas uml,mer banco,classes java,teste,etcetc é uma abordagem muito mais efetiva....

a melhor abordagem é a "top down" ou seja de cima pra baixo modelo minhas classes e ele se vira com banco e app...por enquanto o case ta no meio ele ta partindo de classe pra geração do resto ...mas mesmo com isso ja consigo gerar muita coisa ...não apenas cruds mas dependo da complexidade um projeto todo

vide "protofarma que esta no usuario teste" o cliente queria apenas aquilo ...um conjunto de cadastro que lhe atendia muito bem....dificilmente ha projetos desse tipo..
mas mesmo projetos gigantes partem de uma base "cadastros,retaguarda" ai tem varios nomes....a ideia do projeto é prover essa retaguarda pra voce e base pra todo o resto do projeto...como disse o projeto está caminhando ainda..mas ta ficando bacana....penso nele daki 1 ano....


"o uso não fica restrito a nenhum framework ou linguagem"

Minha ferramenta não esta restrito a framework algum ou linguagem, posso tranquilamente gerar template pra usar com php,c#,blabla usando MVC como design desde que tenha ferramentas solidas(frame de persistencia,view,etc pra prover um código bacana) ...minha ideia é ir extendendo pra outros frameworks e linguagens basicamente é criar provedor de código fonte ligado a boas praticas pra qualqeur linguagem OO e seus frameworks mais conhecidos ...o futuro é promissor pois ja fiz num esquema de facil extensão pra qualquer linguagem ou framework...

O diferencial que é online , gratuito e nao te prende a ferramente ou seja se voce fez e gerou é seu....voce fica preso ao framework que voce escolheu...


Hoje esta implementado pra

Vraptor - MVC
Hibernate - Persistencia
View - Taglib que eu fiz com muita coisa pronta(validação,mascara,submissao ajax,formulario,grid,navegação,menu,etcetcetc)

Mas com pouco trabalho eu ja consigo fazer voce optar qual framework vai usar em qual camada....
Exemplo se amanha eu implemento mais 2 framework e uma tag lib

Mentawai - Controlador
Ibatis - Persistencia
Waffle - Taglib

Ai voce ja tem opção de escolha (aa quero usar vraptor ou mentawai ou Seam ou outro MVC) aa quero que faça a persistencia (Hibernate,Ibatis,outro) a minha view vai ser como vai ser taglib default ou waffle...e mais pra frente a linguagem ...ai me gera em php com Doctrine na persistencia,um frame de view (tenho um tb legal) , e cakephp como controlador etc....assim as possibilidades são ilimitadas.....

O futuro é isso ai , muita gente torce nariz pra gerador de código, mas se voce for bem as empresas mais fortes utilizam e muuuuito ferramenta de abordagem top down
que fazem e muito pelo programador pra que eu vo perder tempo com coisa que não preciso perder??











[Email]
lscosta
Debugger

Membro desde: 26/11/2009 11:01:08
Mensagens: 59
Offline

Fala boneazul!

Cara, eu achei legal o tópico e me dei conta de que tbm podia ter compartilhado com o GUJ a ferramenta que fiz... Mas já na primeira linha eu afirmo que não é uma ferramenta completa como a tua... nem pretende ser. Se você olhar os fontes, não vai sequer encontrar um belo padrão de desenvolvimento. É uma solução simples para atender um problema específico: replicar estruturas de código comum.

A meu ver, a única vantagem que outro desenvolvedor terá com a abordagem que usei, é poder replicar a arquitetura que ele mesmo concebeu para outro módulo do sistema, sem ter de reescrevê-lo. No teu caso, pelo que entendi, tu entregas uma aplicação inteira de lambuja para o cara. Show!

Quanto a "melhor abordagem" ser top-dow ou bottom-up ou qualquer outra coisa, depende de cada caso. Quando você muda o problema, muda a solução.

Perceba que estou falando em replicação de uma solução que você criou. Se você criou essa solução usando top-dow/etc, isso é irrelevante na hora de replicá-la. E a estrutura de cruds não deve variar muito, uma vez que se estabeleça um padrão.

Só para contextualizar, no meu caso, estou reescrevendo uma aplicação. Ela foi desenvolvida em Genexus e estou portando para Java. Nesse caso, já tenho uma base de dados que é integrada com aplicações 'satélite' e sistemas de BI, ou seja, a única coisa onde não devo mexer é na base de dados. Não posso repensá-la, pois uma série de aplicações giram em torno dela.

Resumindo, essa era a solução para o meu problema. E com certeza poderei reutilizá-la em qualquer outro ambiente, independente de base de dados ou metodologia de desenvolvimento.

Já tentei acessar teu site e vou ficar de olho alí. Sei que o propósito é outro e certamente vou levar em consideração para novas aplicações.

Com todo esse blablablá, espero deixar claro que não sou da concorrência! =D

Valeu!

-------------------------------
Luciano Costa
@lscosta
 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team