Delphi para Java

Hibernate = framework ORM. Dá uma olhada aqui.

E/T: O problema do “código macarrônico” no Delphi não é culpa da ferramenta e nem do Object Pascal. É do desenvolvedor. Se utilizarmos os princípios de projeto e os princípios da OO, teremos um projeto bem feito e fácil de manter.

E/T2: Não migre, mude, troque de linguagem, apenas acrescente.

Abraços.

VIxe… tipo vamos separar as coisas… É o seguinte o hibernate é um framework de persistência que serve para você realizar as operações no banco sem depender tanto de SQL, inclusive ele faz a diferença justamente na questão da produtividade pelo fato de não se escrever comandos SQL para operações CRUD por exemplo. Já o netbeans é um IDE, que dá suporte a várias linguagens inclusive, tipo nesse caso se você quer mais produtividade na hora de desenvolver interfaces para desktop por exemplo ele é o mais indicado, pois é gratuito e muito completo.
O que vale ressaltar é a diferença, o netbeans é uma ferramenta RAD e o hibernate é um framework de persistência.

Espero ter esclarecido… :slight_smile:

[quote=celso.martins]Hibernate = framework ORM. Dá uma olhada aqui.

E/T: O problema do “código macarrônico” no Delphi não é culpa da ferramenta e nem do Object Pascal. É do desenvolvedor. Se utilizarmos os princípios de projeto e os princípios da OO, teremos um projeto bem feito e fácil de manter.

E/T2: Não migre, mude, troque de linguagem, apenas acrescente.

Abraços.[/quote]

Tipo você poderia dar um exemplo de arquitetura em delphi que modularizaria lógica de BD, lógica de interface e lógica de negócios da mesma forma que temos em java? Pergunto isso por que fiquei 3 anos em delphi e não tive a oportunidade de ver um projeto estruturado da mesma forma que vejo hoje em java.

Espero não ter parecido incisivo apenas tenho curiosidade :slight_smile:

[quote=laudenpower]
Tipo você poderia dar um exemplo de arquitetura em delphi que modularizaria lógica de BD, lógica de interface e lógica de negócios da mesma forma que temos em java? Pergunto isso por que fiquei 3 anos em delphi e não tive a oportunidade de ver um projeto estruturado da mesma forma que vejo hoje em java.

Espero não ter parecido incisivo apenas tenho curiosidade :)[/quote]

Sem problemas.

Cara, o Delphi é baseado no Object Pascal, que é orientado a objetos. Como você tem o conceito de objetos e classes, a implementação usando o paradigma OO depende de você. Dessa forma, você pode criar classes DAO, por exemplo, para a camada de persistência. Sem problema algum. Você pode (e deve) encapsular estado e comportamento em objetos. É só fazer TFoo = class…

Obviamente você criará os “componentes visuais” na mão, como um ADOQuery. Mas isso não chega a ser um problema, tendo em vista a legibilidade que ganha o código.

É preciso tomar cuidado, também, com o fato do Object Pascal não possuir um Garbage Collector.

Não lembro de ter visto algo parecido com interface no Object Pascal, mas classes, é fácil.

Abraços.

Luciano,

Vejo pela sua pergunta que algo não foi ainda entendido por você.

Vou ser bem direto pra voce entender:
1o. O Hibernate nao subistituirá o NetBeans pois fazem coisas totalmente distintas.
2o. O Hibernate cuidará da persistencia de sua aplicação. (ex. Salvar, Deletar Registros)
3o. O NetBeans e o Eclipse vai atuar como o Editor do Delphi (na maior parte das vezes sem forma visual)
4o. O Hibernate poderá ser utilizado como qualquer editor (Eclipse ou NetBeans) pois ele eh um “componente” para ajudá-lo no mapeamento OR.

Espero ter esclarecido pois vi que algumas respostas foram tão a fundo que não olharam o básico.

[quote=Luciano_Lopes][quote=Felagund]Delphi é bom para sistema de maior porte sim, mas com o tempo a manutenção dele fica complicada, aquele código macarronico é muito complicado. E com o netbeans aqui onde trabalho temos uma desenvolvimento muito agil, em 20 minutos temos uma interface pronto rodando. Lógico que temos nossos proprios compoenentes. para as nossas necessidades e isso ajuda bastante.

o SwingX para o cara da pergunta acima, é um conjunto grande de compoenentes para Swing.

[]'s[/quote]

[quote]Pesquisei na net sobre o SwingX mas não encontrei nenhum componente que me ajudasse com a conexão com o banco,mas encontrei varios componentes que ajudam muito,principalmente na parte gráfica :slight_smile: esses componentes são gratuitos?Onde posso encontrar mais componentes para o NetBeans?

laudenpower, o delphi é bem poderoso só que ele tem seus “contra tempos”, tem coisa que acontece no Delphi que só Deus mesmo para saber oque foi que deu rsrsrsr
o Java pode ser mais trabalhoso mas pelo menos você tem 100% de controle sobre o código que esta ali,ja no Delphi você não tem esse controle.[/quote]

Não tem controle? você tem os fontes e pode saber muito bem o que está fazendo, o que acontece com a maioria é que só se limitou a colocar componentes e setar propriedades e executar alguns métodos, o próprio Delphi induz a isso deixando transparecer mais facilidade, mas fugindo dessa técnica você pode montar patterns em Delphi como se monta em Java, o Java não lhe dá tanta liberdade de sair da linha, por isso ele é padrão para desenvolver patterns, conheço caras com muitos anos de Delphi e poucos sabem realmente a fundo a ferramenta, você pode construir aplicações a acesso a banco de dados com velocidade 10x superior se deixar de usar componentes dataware, somente usando o componente VirtualTreeView e edits, a velocidade é rápida demais, mas em contrapartida, você terá que codificar muito mais, porém com um código realmente orientado a objetos, a demora do resultado no inicio, compensa no final, fazendo testes, controle de versão, terá um código fácil de manutenção e não aquela coisa horrenda de clickar em componente e enchertar código em eventos pra lá e pra cá, não fale que Delphi faz uma bagunça, quem bagunça é o developer, se aprendeu a programar lendo os livros do Cantu então está enrolado.

Como disse, quem é limitado é o developer e não a ferramenta, falowz.

[quote=laudenpower][quote=celso.martins]Hibernate = framework ORM. Dá uma olhada aqui.

E/T: O problema do “código macarrônico” no Delphi não é culpa da ferramenta e nem do Object Pascal. É do desenvolvedor. Se utilizarmos os princípios de projeto e os princípios da OO, teremos um projeto bem feito e fácil de manter.

E/T2: Não migre, mude, troque de linguagem, apenas acrescente.

Abraços.[/quote]

Tipo você poderia dar um exemplo de arquitetura em delphi que modularizaria lógica de BD, lógica de interface e lógica de negócios da mesma forma que temos em java? Pergunto isso por que fiquei 3 anos em delphi e não tive a oportunidade de ver um projeto estruturado da mesma forma que vejo hoje em java.

Espero não ter parecido incisivo apenas tenho curiosidade :)[/quote]

Você já usou interfaces no Delphi? É Totalmente possível isso que está dizendo, aplicar um pattern lá e você terá um mvc completo, mas esqueça a questão de dataware, componentes dataware não permitem você fazer um pattern a VCL é amarrada com isto, por isso é necessário fugir, você pode criar units separadas com interfaces, e ainda melhor, se quiser fazer um servidor de aplicações pode usar o RemObjects que também é puro código e ainda pode-se compilar no Linux usando o FreePascal, um servidor de aplicações multiplataforma usando o RemObjects SDK, claro ele é pago, mas é perfeitamente possível, eu teria que codificar e lhe mostrar um exemplo mostrando a lógica sem aclopamentos como é feito por padrão no Delphi, quando o projeto é de maior porte, eu uso esse patern, coisas pequenas faço no padrão mesmo dele, mas acredite, você pode fazer isso em Delphi no que faz em Java.

[quote=knowledgebr]
Você já usou interfaces no Delphi? É Totalmente possível isso que está dizendo, aplicar um pattern lá e você terá um mvc completo, mas esqueça a questão de dataware, componentes dataware não permitem você fazer um pattern a VCL é amarrada com isto, por isso é necessário fugir, você pode criar units separadas com interfaces, e ainda melhor, se quiser fazer um servidor de aplicações pode usar o RemObjects que também é puro código e ainda pode-se compilar no Linux usando o FreePascal, um servidor de aplicações multiplataforma usando o RemObjects SDK, claro ele é pago, mas é perfeitamente possível, eu teria que codificar e lhe mostrar um exemplo mostrando a lógica sem aclopamentos como é feito por padrão no Delphi, quando o projeto é de maior porte, eu uso esse patern, coisas pequenas faço no padrão mesmo dele, mas acredite, você pode fazer isso em Delphi no que faz em Java.[/quote]

Nunca vi, até agora, problemas em usar a vcl, com os componentes sendo criados em runtime. Como eu disse, até agora. Você (ou alguém) pode me convencer do contrário.

Usando os componentes ADO, como exemplo, não vejo problemas em criar um TADOQuery em runtime e manipula-lo de acordo com a necessidade. O acoplamento com classes da ferramenta (TADOQuery é uma classe da ferramenta) é algo bem natural. Vejo isso como o acoplamento das suas classes na camada de persistência Java com o PreparedStatement, por exemplo, numa solução com JDBC puro. Para que reinventar a roda?

Como eu disse, pode haver um motivo que eu desconheça. Se houver, eu gostaria de passar a conhecer.

E com relação a interfaces, eu realmente nunca vi nada nem parecido.

Abraços.

Vocês acham que é melhor eu deixar o Delphi,passar para o C++ e depois ir para o Java ou ir direito para o Java?pergunto isso porque ja vi que o Java é originado do C++,que ja sabe programar em C++ para programar em Java fica facil,ai fico sem saber que sequencia devo seguir.

Estude direto o Java. A sintaxe é simples. O problema é ficar confortável com todos os recursos que a plataforma te oferece. E com relação a isso, não creio que estudar C++ possa ajudar.

Abraços.

Concordo com o celso,

A melhor maneira de aprender é ir fazendo, dúvidas vão surgir e pessoas aqui no fórum dispostas a ajudar não faltarão.

Abraço e bem vindo ao Mundo dos Javeiros
:smiley:

A sua idéia é continuar com Desktop ou partir para Web?

Dizer que Delphi é para sistemas pequenos é uma bobagem, quase todo o legado aqui do meu atual cliente é em Delphi.

Se for mudar parta logo para web, com a parte de Ajax já é possível fazer ferramentas bem semelhantes ao Desktop.

Ex:
http://www.smartbeneficios.com.br

Cadastre uma empresa e logue na area de cliente, olhe como são os cadastros:

Quero continuar com Desktop,espero que tenham paciencia comigo,pois tenho certeza que vou ter muitas duvidas sobre o Java :oops:
Amigos,muito obrigado pelas dicas,espero não ter incomodado tanto,abraços,vlw