Java para Desktop. O que desenvolver?

51 respostas
S

Boa noite a todos,

Estou com a seguinte dúvida:

Pretendo aprender Java para desenvolver aplicativos Desktops, porém não consigo enxergar em público-alvo para esses aplicativos. O que quero dizer, é que não consigo enxergar a quem podem ser direcionados esses tipos de aplicações.E que tipo de aplicações seriam essenciais para desenvolver para uma empresa, por exemplo.

51 Respostas

L

Realmente hoje em dia ja ta lotado de software que atende as necessidades de “todo mundo”, o negocio é desenvolver um sistema mais facil pra mexer, um visual mais bonito, com algumas funcionalidades extras e um preço mais bacana.Acho que essas coisas chama a atenção das empresas.

F

Eu sou desenvolvedor J2SE…veja aqui: http://www.iguanasistemas.com.br

Realmente tem muita coisa hoje em dia, nos da Iguana Sistemas estamos produzindo em massa varios tipos de sistemas para varios segmentos. Nossa politica é: “Software bom, preco baixo para territorio nacional”.

t+ e boa sorte em seus projetos.

B

Olá.
Pode se criar sistemas distribuidos, tipo ERP, existe o https://sites.google.com/a/stpinf.com/freedom-erp/
De uma pesquisada no Google mais a fundo.

L

Complicado também é você fazer um sistema sozinho e sair comercializando por ai, tem muito cliente que não quer abrir mão do sistema antigo ou fica com desconfianças.

F

bsatrianim:
Olá.
Pode se criar sistemas distribuidos, tipo ERP, existe o https://sites.google.com/a/stpinf.com/freedom-erp/
De uma pesquisada no Google mais a fundo.

Sobre sistemas ERP. Nos estamos migrando um ERP feito em Genexus+VB para J2SE. O ambiente escolhido por nós foi J2SE+NetBeans+Hibernate+SQLServer2008 com Java Web Start, pois sao 2 industrias em pontos diferentes no Brasil, sendo tbm q na parte de vendas existe varios representantes pelo Brasil, por isso o uso do JWS.

E isso, t+ e boa sorte nos seus projetos.

R

ola amigo do iguana, baixei o projeto e to olhando bacana.

vc usa um banco de dados embutido?

acho legal este lance de acabar com o jar, e usar o .exe
tem um programa para isto não?
estava vendo um topico por aqui sobre isso.
queria mudar o icone do jar e apareceu algo assim…

mas por exemplo to la a tentar a vender. cadastrei um refrigerante, clico na lupa para mostrar os produtos, clico no refri e ele não entra na mesa automaticamente. toda hora tenho que digitar o código do produto?

a quantidade podia ter um combox editavel, que permite escrever mas dá opções. toda hora tenho que colocar quantidade de tudo que vou vender. codigo quantidade, isto está parecendo trabalhoso. falta coisa mais automatica, tenho pensado.

este programa está em uso por alguma loja, funcionou bem?
grato.

R

consegui pegar o refri direto, mas cadastrei outros que nao apareceram na hora de vender, mas estão cadastrados. também quando ponho venda a prazo, continua como se estivesse a vista.

bem agora melhorou, mas o quantidade pode começar com no mínimo 1, por exemplo, pois se já escolhido sempre será um, certo?

enfim estou analisando. achei bacana.

R

por exemplo coloquei uma agua com o + e pediu outro código, mas funciona bem com o enter. enfim, pode ser o jeito e o aprender a usar.

é isto aí.

R

fui fazer um outro login, e nao fiz nada e fechou o programa todo, pode ser perigosos se muitas vendas estiverem abertas, não sei se ficou algo gravado.

falo isto para testar e para ajudar tb, pode ser que tenha algo a contribuir ou arrumar.

F

Opa, Sim…O Iguana Bar usa H2 Database.

1 - Para ativar uma mesa por exemplo, vc precisa vender para ela.
2 - Vc pode vender os produtos de 3 formas…1, codigo do produto…2 consultando pela lupa…3 pelo codigo de barras do produto qdo cadastrou.
3 - Sobre a quantidade eu fiz um update pq antes usava-se Double agora usa-se Integer e o valor dela é zerado na quantidade, forcando assim o cliente informar qto do produto quer.
4 - Vendas a prazo, vc precisa defini-la e informar o Cliente para quem esta realizando a venda…O sistema ja traz automaticamente o Cliente de codigo 1 q e o cliente a vista…Para fazer vendas a prazo, vc precisa de ter clientes cadastrados, logicamente.
5 - No site tem as video aulas de como trabalhar com o sistema.
4 - Tem 150 clientes usando o Iguana Bar, desde o Acre ao Rio Grande do Sul.

Obrigado pelas dicas, vou anota-las e analisar sobre todas.

R

bacana. obrigado pela resposta.

só não entendo o porque da quantidade ser zero, apos um produto ser escolhido pois ao menos 1 será vendido, então poderia até ter um mais daquele ali, para somar a quantidade, ao invés de forçar a digitação.

F

raghy:
fui fazer um outro login, e nao fiz nada e fechou o programa todo, pode ser perigosos se muitas vendas estiverem abertas, não sei se ficou algo gravado.

falo isto para testar e para ajudar tb, pode ser que tenha algo a contribuir ou arrumar.

No caso de vendas abertas, em todas as telas de vendas tanto: Balcao,Entrega,Mesa tem o botao “Pedido”…Esse botao apenas é habilitado quando tem-se vendas em aberto referente ao tipo.

por exemplo…caso vc faca uma venda para Balcao e nao a feche, o sistema vai mante-la aberta e nao contara no caixa, a proxima vez em q vc abrir a tela de vendas de Balcao o botao estara habilitado.

Todos os botoes tem seus “Tooltips” q informam basicamente suas funcoes.

Minha ideia e q na proxima versao ja tenha um Client para Android, onde o garcom por exemplo, va ate a mesa faca uma venda e a mesa ja se habilite no servidor…

obrigado

R

ah sim ele fechou como falei, no na troca de usuário, mas manteve a mesa aberta.

ok estou trabalhando com um despertador , JAVA COOK, da uma olhada. tem que baixar o som no inicio do topico e por no c:// por enquanto , a última versão está no final do tópico…

não conheço esta h2 database, trabalha com mysql[url]? vou pesquisar

F

raghy:
bacana. obrigado pela resposta.

só não entendo o porque da quantidade ser zero, apos um produto ser escolhido pois ao menos 1 será vendido, então poderia até ter um mais daquele ali, para somar a quantidade, ao invés de forçar a digitação.

Sua ideia foi otima, na verdade esse eh o primeiro produto da Iguana Sistemas tanto q ele ta na versao 1.0.0r pois foi feita essa mudanca q havia te falado sobre a quantidade de Double para Integer e outras como o Cliente 1 ser o A VISTA, estou preparando a versao s(stable) e ja vai ter esse update q vc sugeriu.

Nesse momento estou fazendo em paralelo junto com a equipe Iguana Sistemas voltado para os segmentos de: Mercados/Mercearias/Acougues/Padarias/Varejao q terá os Clients Linux(provavelmente)…Estou implementando a parte de ECF+TEF+PAF para esse novo produto, e tbm ja quero implementar o ECF+TEF+PAF para o Iguana Bar provavelmente na versao 1.0.1b.

Obrigado pelas ideias.

F

raghy:
ah sim ele fechou como falei, no na troca de usuário, mas manteve a mesa aberta.

ok estou trabalhando com um despertador , JAVA COOK, da uma olhada. tem que baixar o som no inicio do topico e por no c:// por enquanto , a última versão está no final do tópico…

não conheço esta h2 database, trabalha com mysql[url]? vou pesquisar

H2 Database é feito em Java pelo criador do HSQLDB. Porem eu achei muito melhor que o Derby e o HSQDB. Tanto em materia de estabilidade,facilidade,rapidez,robustez e tempo de resposta. Fiz teste com ele em uma tabela com 700.000 registros e fiquei chocado com a sua rapidez e eficiencia…Por isso, nos da Iguana Sistemas ao produzir softwares para todo territorio nacional o escolhemos.

Obrigado novamente.

R

e vc tem como atualizar sua versão das pessoas que usam on line , por exemplo[url]?

o sistema todo custa 50 reais, como é que funciona isto[/url]?

R

onde fica guardado o back up que ali diz que foi feito.??

F

O sistema tem permissao de uso para 40 dias, a cada 40 dias ele expira e precisa de uma senha…Para a versao trial 15 dias.
O sistema é pago do quinto ao decimo dia util do mes. Os clientes depositam/pagamboleto e eu mando a senha para mais 40 dias. Caso o cliente opte por nao usa-lo mais o sistema vence por si so.

As versoes que virao eu estou ainda pensando uma melhor maneira, agil e q seja eficiente. Tenho um ERP rodando para uma empresa, nesse ERP tenho um bom sistema de update, mas bem mais complexo do q preciso nos Iguanas.
Por isso, estou ainda elaborando um algoritmo para update…Acredito q eu va fazer parecido com o ERP q tenho, algo como um update para banco e um update para a app…Os updates, acredito eu que farei usando SSH ou FTP ou ate msm implementar um Socket.

t+

F

Ah, o backup fica em c:\IguanaSistemas\IguanaBar\Backup

t+

L

fernandopaiva , tenho uma pergunta um pouco “pessoal”, tem muito tempo que você criou o Iguana?Você fez tudo sozinho ou é uma equipe?Pergunto isso pois programo sozinho e gostaria que me desse algumas dicas de como pegar o “caminho” certo.

F

Opa Luciano, a primeira versao eu fiz toda sozinho, comecei em agosto de 2010 e terminei em fevereiro de 2011…Eu estava voltando pra faculdade e precisava ter uma renda R$ extra pra ajudar a pagar a faculdade e nao ter q tirar do meu bolso, entende ?

Bem, foi ai que decidi criar o IguanaBar pra ver se conseguia ter essa renda, na epoca eu cobrava 150 R$ por licenca…tinha 3 clientes q o usavam, dava pra pagar a faculdade tranquilamente …kk !!! Ai um dia um amigo meu viu o sistema, e disse: “Coloca esse seu sistema pra vender na internet”. Ai pensei, pq não, e comecei a reescrever a primeira versao do sistema que usava MySQL para H2Database e mudar algumas funcoes de operacoes, isso depois de ter testado o HSQLDB, Derby, Firebird Embedded, Access, MSDE. Escolhi o H2 pq realmente eh muito bom.

Um outro amigo meu J2SE Developer tbm, viu o sistema e gostou da ideia. Eu estava comecando um sistema para um outro segmento, ai em uma conversa combinamos uma sociedade. A idéia é eu criar um sistema de um segmento enquanto ele cria para outro segmento todos a precos baixos mas funcionais. Nesse momento estou criando como falei um para Mercados/Mercearias com PAF+ECF+TEF, ja ate conversamos sobre os precos. Serao 2 modulos: 1 Servidor(SG) e varios PDV(ponto de venda). A ideia é. 50R$ o servidor e 20 R$ cada terminal.

Caminho são muitos, vc pode seguir nossa ideia de criar softwares pra internet ou vc pode criar sistemas especificos para um devido segmento, ou vc pode criar um portal de acesso para um sofware com uma ideia inovadora, ou clientes de JWS para um servidor seu que tenha algum fundamento para um devido segmento como por exemplo um controle de estoque simples …Enfim, tem varios caminhos. Eu escolhi J2SE pq adoro sistemas Desktop apesar de ja ter mexido com muita web…Ja trabalhei com outras linguagens e todas produzi para desktop. Como por exemplo C++/Python/Ruby/Delphi/VB, entaum por isso acho q tenho paixao por softwares Desktop. Agora estou criando um software pra Android q vai trabalhar juntamente com o IguanaBar, provavelmente nas proximas versoes ja terei liberado.

E isso, qquer coisa to ae na area sempre perguntando e respondendo.

t+

G

@fernandopaiva

Legal os seus depoimentos! Uma curiosidade: por que optou fazer o sistema em Java, sendo que o sistema é para Desktop? Sabemos que o forte do Java não é Desktop, tendo outras linguagens que levariam vantagem nessa plataforma.

G

Moderador, favor excluir esse post. Foi feito em duplicidade, por engano.

F

gustavo_mb:
@fernandopaiva

Legal os seus depoimentos! Uma curiosidade: por que optou fazer o sistema em Java, sendo que o sistema é para Desktop? Sabemos que o forte do Java não é Desktop, tendo outras linguagens que levariam vantagem nessa plataforma.

Opa…Eu nao acredito nisso q vc disse, “Forte do Java nao e Desktop”, Java é forte em tudo, lider de mercado a mais de 20 anos…E por ja ter mexido com C++/Python/Ruby/Delphi/VB/C# digo pra vc q nenhuma dessas levam vantagem sobre o Java principalmente em fatores de mobilidade/portabilidade/facilidade. Tudo o que procuro sobre Java em minhas pesquisas eu encontro uma resposta e uma maneira de fazer, sendo ela simples ou nao. Eu deixei o C++ e Python q gostava muito para estudar Java, e hoje posso dizer que C++ e Python é muito bommm…Mas Java é excelente. ;-)…

Em Java vc trabalha organizado, reutiliza codigos facilmente eh a magia do OO. Pra vc ter uma nocao simples do q to dizendo, para produzir a estrutura basica de um sistema, como por exemplo Cadastros eu levo muito menos tempo que com Delphi/VB q saum as ditas(faceis e fortes) para Desktop. Como ja tenho muita coisa pronta, eu apenas crio um projeto novo e adapto o que tenho em tempo recorde, coisa q naum conseguia com Delphi/VB por ser procedural e um garrancho de codigos do tamanho de umas 30 voltas ao redor do planeta.

Entaum, esse negocio de “Forte do Java nao e Desktop”, nao existe em meu vocabulario. Java é forte onde quer que esteja.

Bem, acho q meu Avatar do GUJ ja responde muito sobre o que acabei de dizer.

t+

H

@fernandopaiva

Interessante saber que tu começou a desenvolver o sistema sozinho, pois é como eu estou um. O meu, por enquanto, só realiza cadastro de clientes, fornecedor, e peças no estoque (é para o negócio da família), só pra eles terem um controle maior nesse aspecto.

Espero até metade do ano ter algo mais desenvolvido.

F

rodo minha aplicação java em .exe.

Tive que tirar umas libs pra caber nos 512kb

F

Hmuller:
@fernandopaiva

Interessante saber que tu começou a desenvolver o sistema sozinho, pois é como eu estou um. O meu, por enquanto, só realiza cadastro de clientes, fornecedor, e peças no estoque (é para o negócio da família), só pra eles terem um controle maior nesse aspecto.

Espero até metade do ano ter algo mais desenvolvido.

Com certeza vai estar. Quanto mais vc desenvolve melhor vc fica, vai ganhando experiencia e entendendo de regras de negocio. Eu costumo conversar bastante com profissionais da area como por exemplo: Contador,Engenheiro,Advogado etc…etc…Assim, vc entende como fazer por exemplo um ECF, pois te dao dicas de onde pesquisar, como fazer e o que deve ter. Enfim, criterios e especificacoes.

t+ e boa sorte.

R

respondi uma grande mensagem que apagou.
enfim, fuadksd manda o programa completo pro meu email? [email removido]

Fernando parabéns pela sua iniciativa e atitude.
são 50 reais a cada 40 dias é isto, certo?

ainda no tópico original, uma boa dica é o link já postado aqui:

:smiley: :wink: :slight_smile:

F

fernandopaiva:
O sistema tem permissao de uso para 40 dias, a cada 40 dias ele expira e precisa de uma senha…Para a versao trial 15 dias.
O sistema é pago do quinto ao decimo dia util do mes. Os clientes depositam/pagamboleto e eu mando a senha para mais 40 dias. Caso o cliente opte por nao usa-lo mais o sistema vence por si so.

As versoes que virao eu estou ainda pensando uma melhor maneira, agil e q seja eficiente. Tenho um ERP rodando para uma empresa, nesse ERP tenho um bom sistema de update, mas bem mais complexo do q preciso nos Iguanas.
Por isso, estou ainda elaborando um algoritmo para update…Acredito q eu va fazer parecido com o ERP q tenho, algo como um update para banco e um update para a app…Os updates, acredito eu que farei usando SSH ou FTP ou ate msm implementar um Socket.

t+


Como assim? Segue o que está escrito no site:

V

Cuidado com a generalização. Java não é forte em tudo. Devido aos seus pontos fracos, sua participação é irrisória nos mercados de:

  • Jogos: Não tem classes para interoperabilidade com 3D, boas classes para sons ou vídeos, não atende boas plataformas;
  • Sistemas de tempo real (hard-real time) - tais como players de vídeo e aplicações industriais: Não permite controle sobre o processo de garbage collection;
  • Sistemas micro (microcontroladores, microprocessadores, etc): Fraco controle sobre o uso da memória;
  • Sistemas de processamento em massa - tais como sistemas meteorológicos ou para bolsa de valores: O desempenho é baixo, associado ao fato de muitas vezes não ser executável em supercomputadores.

Em alguns mercados ele existe, mas está muito longe de ser líder:

  • Desktop: A linguagem que domina a anos é o C++. Outras linguagens, como C#, tem ocupado espaço rapidamente. O problema do Java nesse campo é que tem pouca interoperabilidade com SO e hardware;
  • Sistemas embarcados: Existe, mas o uso ainda é tímido. Os problemas são ausência de VM e, quanto tem, alto consumo de memória, alto footprint.

O um dos lugares onde ele é realmente líder são as aplicações web.
Nunca vi uma pesquisa de markshare realmente séria, mas creio que ele divida muito espaço com PHP, Ruby e C#.

Isso significa que é uma linguagem ruim? De jeito nenhum. É uma boa plataforma para desktop, e é uma excelente plataforma para web.
Só aí, você já tem dois mercados potenciais imensos.

J

Cuidado com a generalização. Java não é forte em tudo. Devido aos seus pontos fracos, sua participação é irrisória nos mercados de:

  • Jogos: Não tem classes para interoperabilidade com 3D, boas classes para sons ou vídeos, não atende boas plataformas;
  • Sistemas de tempo real (hard-real time) - tais como players de vídeo e aplicações industriais: Não permite controle sobre o processo de garbage collection;
  • Sistemas micro (microcontroladores, microprocessadores, etc): Fraco controle sobre o uso da memória;
  • Sistemas de processamento em massa - tais como sistemas meteorológicos ou para bolsa de valores: O desempenho é baixo, associado ao fato de muitas vezes não ser executável em supercomputadores.

Em alguns mercados ele existe, mas está muito longe de ser líder:

  • Desktop: A linguagem que domina a anos é o C++. Outras linguagens, como C#, tem ocupado espaço rapidamente. O problema do Java nesse campo é que tem pouca interoperabilidade com SO e hardware;
  • Sistemas embarcados: Existe, mas o uso ainda é tímido. Os problemas são ausência de VM e, quanto tem, alto consumo de memória, alto footprint.

O um dos lugares onde ele é realmente líder são as aplicações web.
Nunca vi uma pesquisa de markshare realmente séria, mas creio que ele divida muito espaço com PHP, Ruby e C#.

Isso significa que é uma linguagem ruim? De jeito nenhum. É uma boa plataforma para desktop, e é uma excelente plataforma para web.
Só aí, você já tem dois mercados potenciais imensos.

Eu não concordo que java seja uma boa plataforma para aplicativos pela seguinte razão. Todo processo executa em uma máquina virtual separada, ou seja, carrega toda vm várias vezes. Isso impede que vários aplicativos sejam executados simultaneamente, que é o que uma aplicação desktop precisa fazer. Na minha opinião java é um fracasso para “aplicativos”. Para outros tipos de soluções já acho uma ótima opção.

V

Acho que aí depende da aplicação. Muitas aplicações rodam com uma instância aberta, não dependem de hardware ou de integração com o SO.
É o caso de sistemas ERP, sistemas de ponto de venda e muitos outros sistemas comerciais de finalidade geral.

Mas claro, esse tipo de limitação restringe o Java no mercado desktop e, por isso, o afasta da liderança de mercado nesse segmento.

M

Como você divulgou ele?
Se é em Java, porque só pega em Windows?

M

Meu medo é esse:
Criar um programa e poucas pessoas adquiri-lo.
Por equanto…

R

e também se quem adquiriu teve dificuldades para instalar a jvm, ou seja fazer funcionar o java.

seu exe, já vai com jvm, e tudo?

vi que o banco de dados está embutido o que é muito interessante, é difícil não criar banco de dados, pessoalmente , se alguém não souber fazer isso.

instalar mysql, e criar o banco, só pessoalmente, e o seu programa não precisou disto. muito interessante e viável…

ao fernando. iguana sistemas. e forum

aguardo o .exe que pedi e pretendo estudar mais sobre o H2

como vc embutiu tudo no . exe , fernando?

F

Bem Sr.Vini Godoy.

Como nao trabalho com Jogos nao posso falar, a unica vez que mexi com Games foi com C++ e foi algo bem simplorio para um professor na faculdade.

Mas em relacao a Desktop e Web, trabalhei bastante em Web com Python(Zope/Plone), Ruby(Rails). Em Desktop com C++/Delphi/VB/VB.Net/C#/Python.
Nas áreas em que atuei usando essas linguagens e hoje trabalhando com Java percebo uma facilidade que o Java traz e uma vantagem que o Java leva sobre elas, tanto em producao como em reuso de códigos sem contar que a facilidade de escrever e a organizacao é incomparavel e a inconfundivel portabilidade. Realmente a politica de “Escreva uma vez e rode em qualquer lugar”, caiu como uma luva.
Pra mim o Java foi paixao a primeira vista, após sofrer com outras linguagens hoje estou muito feliz com o Java e pra mim é a melhor linguagem que ja trabalhei, tanto em pequenos sistemas, como em ERPs completos como em sistemas de missao critica.

Sobre super servidores, tenho um amigo que trabalha no banco de Madri(Espanha), em uma conversa recente em que estavamos conversando sobre Java+OSGI, ele me relatou que os servidores WebSphere(WAS) deles que são em grid com mais de 100 pontos locais(mainframe) cada 1 rodando com mais de 100 threads em cada ponto. Isso só em Madri, fora os outros locais da europa em que o banco atua. E disse que a estrutura deles tanto nos Back End como nos Front End é 100% Pure Java.

Em outra conversa com um amigo que trabalha com SAP, ele me disse que a estrutura é toda em Java.

Bem, super servidores eu nao sei, nunca testei pra falar, so ouvi dizer de quem trabalha em grande centro e com grandes aplicacoes…Mas nesse momento, ao meu ponto de vista no mercado na há nada como o Java, tanto que é a linguagem que possui mais procura por mão de obra no Brasil e fora. Bancos,IntelBras,PetroBras,IBM,Oracle,etc…etc…Tem uma gama de personagens de peso por trás do Java e isso nao pode ser atoa, pois ninguem investe em coisa ruim ;-).

Sobre produtos Microsoft, eu nao confio e quando estava mexendo com C# pra uma empresa tentei de tudo quanto é jeito convencer o Supervisor a nao usar C# e usar Java. Vi muitos amigos meus desenvolvedores VB morrerem na praia ou morrer com o VB6 pois o VB.Net nao suportava ser migrado, era preciso reescrever pra VB.Net. Levantei a documentacao e a propria palavra da microsoft na época informando isso, mostrei a documentacao para o Supervisor que bateu o carimbo: Vamos usar Java. Uffa, me livrei de ter q usar C# M$.
Hoje ja nem sei como esta mais a migracao de VB6 pra VB.Net, dizem q tem um plugin que converte mas naum eh 100%, tenho um amigo que trabalha com Genexus gerando VB que disse q nao compensa mudar pra .Net pq a dor de cabeca eh grande. Por isso, nao uso linguagens microsoft e nunca recomendo tbm pois nunca se sabe o que a M$ vai fazer e ela pouco ta ligando com quem usa suas linguagens/frameworks etc.

Resumindo: O Java me atende muito bem, e to muito satisfeito e visto a camisa do Java e defendo pois só quem trabalha o dia todo sabe o poder da linguagem. Ao meu ponto de vista hoje no mercado nao ha nada parecido ou que chega perto do Java nem msm o C#(ecaaa) da M$.

t+ e obrigado.

F

raghy:
e também se quem adquiriu teve dificuldades para instalar a jvm, ou seja fazer funcionar o java.

seu exe, já vai com jvm, e tudo?

vi que o banco de dados está embutido o que é muito interessante, é difícil não criar banco de dados, pessoalmente , se alguém não souber fazer isso.

instalar mysql, e criar o banco, só pessoalmente, e o seu programa não precisou disto. muito interessante e viável…

ao fernando. iguana sistemas. e forum

aguardo o .exe que pedi e pretendo estudar mais sobre o H2

como vc embutiu tudo no . exe , fernando?

Opa Raghy

O .exe nao vai com a VM ele depende dela ainda da 1.6, nos compramos um programa chamado Exe4J que converte nosso .jar para um .exe sem o uso de launcher, realmente funciona muito bem diferente daqueles q se encontra livres por ai que saum apenas um launcher para o .jar, o unico problema é que ele ainda depende da VM.

Agora estamos comprando a licenca de um outro programa que nao precisa de VM mais, ele embute tudo dentro do .exe assim vc pode apenas mandar o .exe para o cliente e ele ter a VM1.4,1.5,1.6,1.7 etc…etc. que seu sistema vai rodar tranquilamente pois a VM q seu sistema precisa estara dentro do .exe
Eh um programa muiiito bom, porem muiiito caro…o valor é US$ 2.000,00…Mas vale cada centavo ao meu ver. Esse programa gera o .exe independente da VM/empacota/cria licenca/cria trial/instalador/atalhos/chavesderegistro/engine nos metodos/cria instalador linux/mac etc…etc. eh muiiiiito bom!

Sobre o servidor H2, eh o sistema que é encarregado de inicia-lo. Postei aqui no GUJ como fazer, veja aqui: http://www.guj.com.br/java/257609-off-topic-iniciando-o-h2-db-pela-aplicacao-j2se

t+

F

Cuidado com a generalização. Java não é forte em tudo. Devido aos seus pontos fracos, sua participação é irrisória nos mercados de:

  • Jogos: Não tem classes para interoperabilidade com 3D, boas classes para sons ou vídeos, não atende boas plataformas;
  • Sistemas de tempo real (hard-real time) - tais como players de vídeo e aplicações industriais: Não permite controle sobre o processo de garbage collection;
  • Sistemas micro (microcontroladores, microprocessadores, etc): Fraco controle sobre o uso da memória;
  • Sistemas de processamento em massa - tais como sistemas meteorológicos ou para bolsa de valores: O desempenho é baixo, associado ao fato de muitas vezes não ser executável em supercomputadores.

Em alguns mercados ele existe, mas está muito longe de ser líder:

  • Desktop: A linguagem que domina a anos é o C++. Outras linguagens, como C#, tem ocupado espaço rapidamente. O problema do Java nesse campo é que tem pouca interoperabilidade com SO e hardware;
  • Sistemas embarcados: Existe, mas o uso ainda é tímido. Os problemas são ausência de VM e, quanto tem, alto consumo de memória, alto footprint.

O um dos lugares onde ele é realmente líder são as aplicações web.
Nunca vi uma pesquisa de markshare realmente séria, mas creio que ele divida muito espaço com PHP, Ruby e C#.

Isso significa que é uma linguagem ruim? De jeito nenhum. É uma boa plataforma para desktop, e é uma excelente plataforma para web.
Só aí, você já tem dois mercados potenciais imensos.

Eu não concordo que java seja uma boa plataforma para aplicativos pela seguinte razão. Todo processo executa em uma máquina virtual separada, ou seja, carrega toda vm várias vezes. Isso impede que vários aplicativos sejam executados simultaneamente, que é o que uma aplicação desktop precisa fazer. Na minha opinião java é um fracasso para “aplicativos”. Para outros tipos de soluções já acho uma ótima opção.

Java não é um fracasso para aplicativos, se fosse eu não usaria e pode acreditar eu seria o primeiro a por obstáculos ao uso assim como ja coloquei para C# e VB. Sobre impedir que vários aplicativos sejam executados simultaneamente nao entendi o que quis dizer.

Sobre Hardwares, tbm nao sei a quais se referem e quais criterios usam para dizer que por isso nao ganha mercado. Se for impressoras e tals, eu nunca tive problemas nem com fiscais nem com nao fiscais sei la a que se referem. Comunicacao com portas(serias) e tals, tbm num tive problemas. Entaum quais hardwares se referem ?

t+

F

Eu vou dizer pela minha humilde experiencia…O que mais vejo hoje em dia, alias o que mais ouço são profissionais desenvolvedores me dizendo: Rapaz, tu é doido, mexendo com Java…Java é para loucos, é muito dificil e tals.

Entao nota-se uma total falta de “querer aprender e dizer que é dificil de aprender”. Eu devo confessar que quando sai do Python para vir pro Java, a unica dificuldade que tive foi com a sintaxe, tirando isso nenhuma. Logo depois aprendi componentes Swing e tals, mas num sofri tanto, e achei muito mais material de Java do que de Python tanto em Ingles como em Portugues…A maioria das minhas duvidas, do que pesquisei hoje sobre Java tive uma resposta q me ajudou ou ainda q me deu um caminho para resolver.
O Java me ajudou a entender bem mais de Python/Ruby/C++, hoje quando preciso de algo paralelo q tenho apenas para Unix(derivados), coisas simples q ainda tenho em Python ou C++ rodando, na hora de implementar uso muito das tecnicas q uso em Java.

Comparar Java com Delphi/VB/PHP, acho q um da…Como diziam os PythonDevelopers na época q trabalhava, comparar Python a PHP/Delphi/VB é a msma coisa q comparar uma Ferrari(Python) com um Fusquinha66(Delphi/VB/PHP). Pra mim Java tbm é assim uma Ferrari contra um Fusquinha. Logico, que o uso de componentes Delphi/VB/C#/VB.Net/ASP.Net agilizam muito no processo de desenvolvimento, mas realmente eu nao ouso fazer tal comparacao pois a Ferrari(Java F1.7) pra mim, faz de 0 a 100 brincando perto dessas ae. Mesmo o Python com BoaConstructor(Otima IDE RAD) ou Python+GTK deixa a desejar. Sobre portabilidade, Python é preciso reescrever praticamente tudo, C++ nem se fale.
Entao nao comparo uma Ferrari com um Fusquinha nunca.

kkkkkkkkkkk !!!

Eh isso.

t+

V

A comunicação do Java com portas seriais é sim, muito ruim. Para começar, não existe na linguagem classes nativas para fazer isso. O projeto javax.comm parou de ser mantido, e a versão para Windows simplesmente desapareceu. Hoje você é obrigado a recorrer a um projeto de terceiros, chamado RXTX. Ainda assim, se você for fazer um controle mais profundo (além de simplesmente controlar uma impressora), você já esbarra em problemas.

Também não há classes para interagir com USB. E praticamente nenhum fabricante de hardware faz driver para Java. Não há classes por exemplo, para scanners, câmeras de vídeo, joysticks ou qualquer equipamento um pouco mais diferente da indústria.
Integração com o SO, então, nem se fala. No Java você não tem nenhuma. Se quiser, ou recorre a JNI, ou usa o exec para rodar um comando via linha de comando.

Não estou falando que toda aplicação desktop precisa disso. Mas várias precisam. E por isso, ele não é líder de mercado no segmento.

Também sinto falta no Swing de diversas funcionalidades comuns para aplicações desktop: Como barras deslizantes, componente de calendário, um JDesktopPane sem tantos bugs, auto-completar, TreeTable… Agora, o futuro do Swing ficou um tanto sombrio depois que a Sun parou de manter o projeto SwingX, e a Oracle decidiu manter a decisão de não reativá-lo.

A única vantagem do Java é mesmo em relação a portabilidade. Hoje ele atende apenas os três principais sistemas operacionais, mas geralmente são suficientes.
Agora, com a QT e a boost, já é bem tranquilo fazer uma aplicação C++ portável.

F

A comunicação do Java com portas seriais é sim, muito ruim. Para começar, não existe na linguagem classes nativas para fazer isso. O projeto javax.comm parou de ser mantido, e a versão para Windows simplesmente desapareceu. Hoje você é obrigado a recorrer a um projeto de terceiros, chamado RXTX. Ainda assim, se você for fazer um controle mais profundo (além de simplesmente controlar uma impressora), você já esbarra em problemas.

Também não há classes para interagir com USB. E praticamente nenhum fabricante de hardware faz driver para Java. Não há classes por exemplo, para scanners, câmeras de vídeo, joysticks ou qualquer equipamento um pouco mais diferente da indústria.
Integração com o SO, então, nem se fala. No Java você não tem nenhuma. Se quiser, ou recorre a JNI, ou usa o exec para rodar um comando via linha de comando.

Não estou falando que toda aplicação desktop precisa disso. Mas várias precisam. E por isso, ele não é líder de mercado no segmento.

Também sinto falta no Swing de diversas funcionalidades comuns para aplicações desktop: Como barras deslizantes, componente de calendário, um JDesktopPane sem tantos bugs, auto-completar, TreeTable… Agora, o futuro do Swing ficou um tanto sombrio depois que a Sun parou de manter o projeto SwingX, e a Oracle decidiu manter a decisão de não reativá-lo.

A única vantagem do Java é mesmo em relação a portabilidade. Hoje ele atende apenas os três principais sistemas operacionais, mas geralmente são suficientes.
Agora, com a QT e a boost, já é bem tranquilo fazer uma aplicação C++ portável.

Ah sim, agora entendi o que havia dito. Eu basicamente trabalhei apenas com comunicacao com Balanca/Impressoras entao nao vou entrar em discussao profunda sobre isso, pq meu know how é bem small …kk !! …Mas para WebCam por exemplo, tem o JMF q um amigo fez um projetinho bem legal q filma e tira fotos, bem legal msm q provavelmente vamos embutir em um projeto Iguana novo. Os componentes Swing juntamente com SwingX que uso me ajudam bastante no desenvolvimento Desktop, a Oracle decidiu parar com o projeto SwingX mas e o OpenSwing, o que vc me diz ?

obrigado

V

Acho o SwingX legal, mas não é um projeto da Oracle…
É um dos poucos que mostra que a comunidade gostaria de ter uma boa plataforma de Desktop para Java.

O JMF é outro exemplo de projeto abandonado.
Aliás, chega a ser difícil encontrar os link dele no site da Oracle atualmente, você acaba sendo redirecionado para sites do J2SE.

Eu recomendaria o Java DirectShow:
http://www.humatic.de/htools/dsj.htm

Mas só funciona em Windows.

J

O ponto que você tocou em “impedir” aplicações de serem executadas:

o impedir se refere a inviabillizar. O runtime de um programa java é toda a máquina virtual. O menor processo java boota toda uma máquina virtual em memória. É inviável ter dezenas de processos java executando em uma máquina pois java pede muito hardware.

No caso java é sim um fracasso no nicho dos aplicativos pela seguinte razão que pode ser expressada pela seguinte pergunta:

“Quais aplicativos populares estão presentes no desktop de usuários finais?”

Netbeans, eclipse, o próprio jdk, sistemas corporativos não são aplicativos, são ferramentas.

Java é forte sim para ferramentas e sistemas corporativos, que é no que a oracle vem focando após a aquisição da sun microsystems.

Agora aplicativos do uso diário(jogos, processadores de texto e imagens, browsers) de usuários finais, java não aparece. Na minha máquina mesmo só o jdownloader.
Se conseguir encontrar 5 deles em qualquer máquina por aí muita coisa.

Mas isso é um outro nicho do mercado, por isso concordo com o vinicius godoy sobre generalizar.

J

Acho o SwingX legal, mas não é um projeto da Oracle…
É um dos poucos que mostra que a comunidade gostaria de ter uma boa plataforma de Desktop para Java.

O JMF é outro exemplo de projeto abandonado.
Aliás, chega a ser difícil encontrar os link dele no site da Oracle atualmente, você acaba sendo redirecionado para sites do J2SE.

Eu recomendaria o Java DirectShow:
http://www.humatic.de/htools/dsj.htm

Mas só funciona em Windows.

Hoje a maioria dos drivers modernos de placa de captura são incompatíveis com a jmf. Um projeto que usa essa api hoje vai ser complicado de ser mantido.

M

Olá fernandopaiva!
Eu queria tirar uma dúvida com você…
Eu baixei o IguanaBar, quando eu iniciei ele, estava pedindo para cadastrar uma empresa, eu coloquei qualquer coisa lá (já que não tenho empresa), quando chegou na hora do cpf, como eu tenho 13 anos, eu não tenho cpf, então coloquei qualquer número e não deu certo, o jeito foi eu colocar o da mamãe aí deu certo.
Como você sabe fez para seu programa saber qual cpf existe ou não:?:

R

acho que ele não sabe se existe, mas provalmente, existem números que coincidem com os que existem. como no telefone, vc geralmente sabe que são _ - _ _ _- _ _ _ _
cpf é _ _ _. _ _ _. _ _ _- _ _

entende…

como 48-3228-55XX
ou 910.737.079-XX

usei o X para não por números reais, mas seriam como números.

tem o jformatted text field, e outras mascaras que podemos usar que fazem isto. predefinem o que será digitado.

veja se nao é isto…
???

fernando?

R

inclusive estas coisas mudam, e podem gerar problemas sérios em um sistema.

F

C# tem boa interoperabilidade com UNIX (pergunta de leigo)?

Já li sobre implementações em hardware da VM (Máquina de verdade hehe). Achei a idéia fascinante. Compatível com arquitetura ARM.

Aplicações web em Java são 1000 vezes mais organizadas que as em PHP. Não sei se o PHP é melhor (preformance), mas na questão de acoplamento e legibilidade de código (separando a lógica da visualização, o que geralmente nao acontece em PHP) é muito bom.

R

fuadksd, mandei uma mensagem privada para vc.

o dificil do java para o php, são por exemplo os servidores. é dificil achar um servidor que rode. ainda mais as vezes tem que adicionar biblioteca para funcionar isso ou aquilo, e aí já dá um pepino maior.

para web acho o php mais prático, inclusive ele tem OO, e novos avanços. mas conheço bons sistemas que usam o java, como o combine.com.br e outros. não descarto o java não, apenas fiz um fotolog por exemplo com php e um forum, com muita facilidade, ao passo que com java, a coisa ficou empacada por mais tempo. a biblioteca para download e upload era dificil de achar, por exemplo. na escola fizemos o projeto no netbeans, mas não era exigido ir ao ar, depois não coloquei no ar. hoje umas bibliotecas do struts deram um ‘pane’ e aí não sei como arrumar. por exemplo…

um site que usa tom cat e funciona java, é o www.hosted.com.br … já fiz funcionar um blog que vem em um livro, com jsp simples. e mysql…

mas um livro de visitas em php é muito simples, fui faze em java, me atrapalhei mais.

isso aí. depois de resolvido alguns problemas, vai da prática do programador eu penso… quanto a eficiencia, não sei dizer se um é mais rápido ou melhor que o outro, mas aparentemente, ambos sistemas funcionam bem, ao meu ver.

:slight_smile:
valeu

R

o " faze" ali foi sem querer, leia-se :fazer …
erros de português não são elegantes. então aqui o conserto. :slight_smile:

se a língua fosse como falassemos, seria isso, mas não é…

assim como o java também…

que depois é todo ‘traduzido’ para o computador, de diversas formas. primeiro classes e depois talvez linguagem de máquina mesmo… interessante…

havia uma época que programar em assembler, era algo desejável, por ser bem rápido, e/ou coisa parecida.

isso na época do basic, e os computadores msx, por exemplo. (no meu caso, pelo menos), nos anos 80. com o expert e hotbit (quem teve um ?)

:slight_smile: :slight_smile:

J

fuadksd:
ViniGodoy:

  • Desktop: A linguagem que domina a anos é o C++. Outras linguagens, como C#, tem ocupado espaço rapidamente. O problema do Java nesse campo é que tem pouca interoperabilidade com SO e hardware;

C# tem boa interoperabilidade com UNIX (pergunta de leigo)?

Já li sobre implementações em hardware da VM (Máquina de verdade hehe). Achei a idéia fascinante. Compatível com arquitetura ARM.

Aplicações web em Java são 1000 vezes mais organizadas que as em PHP. Não sei se o PHP é melhor (preformance), mas na questão de acoplamento e legibilidade de código (separando a lógica da visualização, o que geralmente nao acontece em PHP) é muito bom.

  1. tem com o mono. Mas o que vem acontecendo é que a linguagem vala vem ganhando espaço para sistemas unix que utilizam gtk+. Vala é um subset da linguagem c. Existe um compilador que compila de vala para c, consequentemente o gcc compila c para assembly. O resultado é muito bom, pois o código é muito enxuto e o runtime é mínimo(somente libc).
    Vala é baseada na c#

http://live.gnome.org/Vala

2)Para sistemas embarcados java também não é uma boa opção como você citou lá em cima. O hardware precisa ser bom. Quanto a uma máquina real, o sun spot custa mais de 80 dólares. Em qual produto você o usaria se você tem opções como dspic que custaria bem menos da metade e suporta bem mais periféricos?

  1. Acredito que para tecnologia de servidores java seja a melhor soluções por causa das ferramentas de alta qualidade e framework existentes(e que são free ou opensource).
Criado 19 de janeiro de 2012
Ultima resposta 25 de jan. de 2012
Respostas 51
Participantes 12