Ola amigos, esse e’ meu primeiro post
fiz um treinamento na impacta e agora estou estudando por conta propia
surgiu a ideia de fazer um sistema de controle de estoque
gostaria de saber se alguem ja fez algum sistema desses e pudesse me dar dicas
estou pensando em usar mysql como banco de dados
ou pelo menos me ajudar abrir a mente pra pensar por contra propia
desde ja agradeco a todos
Ps: um feliz ano novo a todos
Boa sorte. A dica real que eu posso dar é: teste tudo. Aproveite que você está começando e não se prenda a fazer as coisas de um único jeito. Se optar por usar framework, escolha uns 3 com o mesmo objetivo e use cada um. Se quiseres ir já se acostumando, tente começar com testes unitários logo de começo, tem inúmeros tópicos sobre esses e mais assuntos aqui mesmo. Sobre dicas para iniciantes:
Banco de dados: escolha algum com mais fluência de mercado como MySQL, PostgreSQL, Firebird ou Oracle XE. Se não quiser ter que instalar algum deles, tem os bancos embarcados como o HSQLDB, H2 Database e o JavaDB ( aka Derby, aka Cloudscape ). Depois mais para a frente pode tentar algum orientado a objetos como o DB4O.
Framework WEB: escolha algum conhecido, por enquanto não vá nas apostas de frameworks da Estônia que 1 empresa fez e disponibilizou. Pode ser o melhor do mundo, mas em questão de documentação, vai ser sofrível. Boas escolhas são Struts2, Vraptor, Wicket, Mentawaii e JSF para começar. Tem N outros bons também, só lembrei desses 5 agora como simples.
Desktop: Swing. Não arrisque SWT por mais que pareça mais atraente, pode ser um tiro no pé no desenvolvimento. Tem alguns frameworks que lhe ajudam a desenhar as telas, como o SwingBean.
Log: PELAMORDEDEUS, use alguma solução para isso. Chega de enviar “funcionou”, “passou por aqui”, “err… deu erro” para o console. E aproveite e use exceções bem auto-explicativas, nada de SeiLaOQueAconteceuException. Se não sabe como trabalhar com novas exceções, lance as antigas mesmo, vai ser melhor para ti.
Testes Unitários: antes que alguém lhe “incentive” a usar testes unitários, já vou falar. Use quando já estiver contente com sua habilidade de programação. Não é simples ingressar nisso, portanto cautela para quando for brincar. Deixe para daqui algum tempo, mas já está avisado.
ORM: não use ainda. Vais ouvir muito falar de Hibernate, TopLink, JPA, EJB e bla bla bla mas não vá ainda. Aprenda a usar bem os recursos do JDBC para depois não empacar quando estiver trabalhando com eles.
E uma última dica: orientação a objetos não morde, então use-a com carinho. Programar Java estruturadamente é possível mas nem um pouco adequado, depois vais ver a besteira quando for retrabalhar esse seu sistema de estoque ( quem sabe colocar um sistema contábil junto? ).
Bem, acho que agora é só isso. Boa sorte novamente.
Até!
flaviotomazio
Uau, suas dicas foram ótimas cara. Essa vai para os meus favoritos.
tupinikin
maquiavelbona, muito obrigado pelas dicas
acho que essas dicas poderiam ate virar um artigo pra iniciantes aqui no GUJ, acredito que nao foi so eu que gostou das suas dicas
muito obrigado
e um feliz ano novo
flaviotomazio
Um ponto interessante é o seguinte: Velocidade da Aplicação
Infelizmente a velocidade de aplicações Java X Delphi em PC’s fracos é algo que me deixa meio incomodado.
Os usuários de sistemas querem saber de velocidade. Será que vale a pena desenvolver um sistema comercial desses em Java, já que em PC’s fracos a velocidade será baixa?
tupinikin
no caso nao seria nada comercial, seria so pra treinar mesmo
nao me veio nada interessante na cabeca pra exercitar os conhecimentos adquiridos no treinamento
oque seria legal eu tentar fazer pra ir treinando???
mais uma vez obrigado
flaviotomazio
Na minha opinião Controle de Estoque engloba muitas coisas importantes: Banco de Dados, Formulários, Login, Operações Matemáticas, Layout. Acho que é algo bom para treinar.
tupinikin
o problema de inicio eh modelar o banco de dados
mais acho que consigo superar isso…rs
flaviotomazio
Agora so falta saber se você vai modelar o BD em UML.
tupinikin
falando em UML, qual programa vc usa??
aqui to com o JUDE e VIsual Paradigma(acho que eh isso)
flaviotomazio
Cara conheço dois, não me aprofundei muito por que eu to aprendendo Java faz alguns meses.
Mas tem o PowerDesigner da Sybase, ele tem um gerador de UML e muitas outras coisas, só que ele é pago. Também tem o próprio gerador de UML do NetBeans 6, mas esse não consegui usar no meu computador, ele trava aqui. Mas outras pessoas usam ele sem problema pelo que fiquei sabendo.
tupinikin
nao sabia que o netbeans tinha editor de UML
vou dar uma olhada
flaviotomazio
Pelo que sei foi implementado a partir da versão 6.
maquiavelbona
flaviotomazio:
Um ponto interessante é o seguinte: Velocidade da Aplicação
Infelizmente a velocidade de aplicações Java X Delphi em PC’s fracos é algo que me deixa meio incomodado.
Os usuários de sistemas querem saber de velocidade. Será que vale a pena desenvolver um sistema comercial desses em Java, já que em PC’s fracos a velocidade será baixa?
Então, o foco vai para a quantidade de recurso que funções análogas em diferentes linguagens exigem. Java exige mais memória ( e não necessariamente processador ) do que Delphi e VB6, mas por ter alguns recursos que essas linguagens não tem ( garbage collector por exemplo ) pode ser muito mais vantajoso quanto mais “interativo e corporativo” for o sistema. Para fazer um PDV, realmente não vejo necessidade para isso, mas para um sistema de integração de uma firma de contabilidade, eu acho legal que seja, apesar que nada limite o uso das outras linguagens nesses casos.
Mas o Java para desktop não compete nesse patamar com essas linguagens, passa a ser vantajoso em sistemas maiores, que em geral, tem melhores máquinas para rodar mesmo sendo desktops.
Até!
flaviotomazio
Mas caso o usuário queira usar um PDV em Linux? O Delphi não tem essa opção, o Kylix está ultrapassado. E Delphi es muy caro.
maquiavelbona
Se a máquina for uma carroça mesmo ( Pentium-S 133Mhz, 56MB, 8 MB compartilhado para vídeo etc), podes pensar em usar C++ ou alguma linguagem que aproveite o GTK ( php, python etc ). Clipper ( nussa ! ) pode ser uma alternativa se o cara não tiver 600 reais para comprar uma máquina.
Até!
Andre_Brito
Não quero nem gosto de julgar linguagem nenhuma, mas se for pra implementar alguma coisa dentro de restrições tão “pesadas”, usaria C++ ou C.
Uma das razões é a quantidade de material existente. São linguagens um pouco velhas mas que ainda são muito utilizadas… já Kilyx, ouvi muitas poucas vezes esse nome, mas sou meio novo na áera. Já Delphi, melhor não falar nada, porque como disse no começo, não gosto de julgar linguagens.
Será que são esses?
Eu também não sabia até ler os 2 links
flaviotomazio
Fui ver o GTK, me impressionei, nem precisa usar Apache com o PHP+GTK, só que para criar layouts é complicado, mais complicado do que com o Swing.
A
andrericarte
Se para para pensar GTK, Swing são complicadas da msm maneira… mas nos acostumamos a elas!
maquiavelbona
Para quem não gosta do GTK, tem o Qt.
Mais no site oficial.
Até!
flaviotomazio
Essas GTK e Qt são cross over né?
Pois a vantagem do Java em relação as outras na minha opinião é o cross-over.
maquiavelbona
São, mas com ressalvas. Vais precisar das bibliotecas específicas para cada plataforma, mas o modo de usá-las é semelhante. Fiz um cadastro de produtos uma vez com php-gtk e não foi nada de outro mundo ( semelhante a fazer com Swing ).
Até!
flaviotomazio
Você notou alguma diferença em velocidade entre o GTK e o Swing?
maquiavelbona
Sim. Só de não ter que ficar dando repaint toda hora já é uma performance diferente e ele reaproveita recursos do próprio sistema operacional ( faz umas gambiarras para funcionar nas outras ). O problema que se você não estiver acostumado a ficar liberando recursos, te dou toda a certeza que você vai deixar um rastro de memory leaks. Mas isso, se tiveres tempo e paciência, iria aconselhá-lo a testar.
Até!
flaviotomazio
Isso ta quase ficando off-topic hehe. A muito tempo atrás eu testei o Lazarus, uma alternativa OpenSource do Delphi, também cross-over. Não gostei, ela ainda tem muito que melhorar, vocês já testaram?
Outra coisa, aonde você conseguiu tutoriais de GTK?
Edit:
Qual linguagem vocês recomendariam para um sistema grande, tipo um ERP? Com vários cadastros, funcionamento em rede, relatórios, PDV, ECF. etc.
Java, PHP+GTK (PHP eu entendo), Ruby, etc?
tupinikin
voltando ao topico …rs
adicionei o drive do mysql no netbeans
tava tudo OK, mais quando eu tento consultar algo pela aplicacao ele da esse erro
Erro ao carregar JDBC/ODBC driver !java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
indo na aba execucao eu consigo executar comandos sql normal
Eu acredito que a maioria dos ERP são em Java ou .NET. Alguns ainda em ABAP.
Só uma coisa: não entendi o que o maquiavel falou ali… Swing ou GTK, qual dos 2 é melhor? Não sei se entendi direito, mas ainda falam em java-gnome, que é o GTK + Java… isso tá meio estranho.
PS.: aquele Qt, pra fazer o desenvolvimento dele, eu desenharia as formas no Gnome e utilizaria na programação da GUI? Não entendo essas coisas direito… pqp… usar o NetBeans já é um sofrimento por causa da manutenção em outro computador da interface gráfica (eu sempre tenho que fazer refatoração porque não sei dar load direto no JForm, quem souber, por favor :()… GUI pra mim é sofrimento viu… tá loco.
flaviotomazio
No NB 6 tem um exemplo de "Java Desktop Application" aonde existe um arquivo de extensão properties que já da o Look and Feel.
Bom acho que foi isso que você pediu dedejava.
Fiz im
java.sql e fiz o try
tentei baixar outra versao do driver do mysql e tambem nao deu muito certo
to usando netbeans, tentei no 5.5 e no 6.0 ambos deram o mesmo erro
mais em outra aplicacao funcionou normal…acho que vou refazer tudo
obrigado
tupinikin
Ops…eh meio vergonhoso dizer mais encontrei o problema
eu adicionava o driver mais nao estava adicionando a biblioteca junto ao projeto
adicionei ela e ficou tudo perfeito
obrigado a todos
flaviotomazio
Que isso cara, todos estamos aprendendo, não podemos ter vergonha de aprender e cometer erros.
off: Essa frase ficou meio estranha
R
renatojosecampos
Conheço um software muito bom que tem controle completo de Estoque, controle de vendas, cadastro de produtos , controle financeiro, fluxo de caixa, e muito mais,
foi feito em delphi, mas vc pode baixar ele e dar uma olhada nos modulos e nas telas para aprender os modulos basicos de um sistema de automação comercial: