Diga nÃo ao swing

Indico esse tutorial sobre JavaFX, comecei por ele : http://code.makery.ch/library/javafx-8-tutorial/pt/part1/

@Andrauss obrigada pela resposta e pela indicação do material!!!
Só pra fechar mesmo acham que seria loucura lançar as primeiras versoes de um software com java + swing e posteriormente migrar para o javafx e ao finaliza-lo lançar como uma nova versao do mesmo software??? digo pq serao dois arquivos .jar e o usuario em si nao vai avaliar isto… vai apenas notar que o sistema tem uma aparencia mais agradavel

@guilherme.programmer @aleks15 @Andrauss

Indico começar com JavaFX pois se iniciar com swing e futuramente for migrar (experiência própria), dependendo do tamanho do projeto você já irá ter utilizado bibliotecas que possam impedir essa migração ou dificultá-la, eu tenho esse problema hoje pois a maioria dos meus projetos usam recursos específicos do swing e dessa forma fica difícil de migrar apesar de poder misturar as duas tecnologias.

Olá,

Com relação a sua última pergunta, depende se um dos requisitos do seu software escolar é performance. Por exemplo, se for para realizar cadastros, manter informações sobre alunos, professores, cursos, e assim por diante atualizados, então performance não é uma preocupação, assim pode escolher qualquer linguagem de programação e framework que dê conta do recado, obviamente, uma linguagem e framework pode ser mais produtivo que o outro.

Sobre qual arquitetura que você utilizará, se aplicativo desktop ou se aplicativo web, também depende dos requisitos, necessidades, objetivos, metas a serem cumpridas.

Por exemplo, o aplicativo de IRPF da Receita Federal, você não precisa de acesso a Internet para preencher a declaração, só precisa da Internet quando for enviar a declaração. Por outro lado, sites de comércio eletrônico tais como Lojas Americanas, Ponto Frio, Submarino, Walmart e assim por diante, precisam ficar no ar 24h por dia e 7 dias por semana, pois assim as chances de lucrar são maiores.

Olá,

Já tentou esse livro ?

Atenciosamente.

Já sim comprei o e-book

1 curtida

Olá
Bom, eu, como desenvolvedor de Java, para desktop, tenho que dar minha opinião né :v
Então, realmente as aplicações para desktop tornam as coisas um pouco restritas. Obviamente eu não poderia distribuir minha aplicação para smartphones, por exemplo. Mas acho que isso varia muito do tipo de aplicação que ce ta pretendendo criar. Quer um exemplo?

Estou em um projeto atualmente, que vai precisar de informações em computadores. Restritamente a computadores, por hora. Claro que vão ter, futuramente, um software nos seus queridos Android, mas no momento, vai ser apenas no desktop. Sobre o download do arquivo, seria realmente insano distribuir para 1000 pessoas um arquivo jar da minha aplicação. Seria uma dor de cabeça SÉRIA.

Prevendo isso, eu criei um site e disponibilizo minha aplicação por ele. Assim, o usuário faz a instalação do meu software e pode baixar as atualizações por ali. PENSEI ALÉM. Recentemente, resolvi criar (e estou criando) um Gerenciador de Downloads. Assim como os que você já deve conhecer. Porém, esse vai baixar as versões novas do meu sistema e, automaticamente, substituir pelas antigas, poupando esforço do cliente. Sim, é algo complicado. Mas possível.

Isso, apenas em aplicação para desktop.
Mas poxa, logo Swing?
Quero dizer, a Oracle já anunciou a “substituição” dos pacotes Swing e AWT no Java 9, onde o que vai “mandar no reinado” agora é o JavaFX.

Então… Concluindo…
Tudo depende do que você vai precisar fazer. As pessoas precisam ter acesso ao pc pra isso? Precisa ser em um smartphone? Pode ser desktop? Pode ser Android?
Verifique o que a pessoa precisa.
Sempre o melhor para o cliente.

1 curtida

OI @Chaybelucas como fica a situação de softwares que ja estao implantados há anos e usam Swing/AWT? Terão que manter a versao sempre no Java 8 (maxima) ??? Se puder me indicar links aos quais eu possa me inteirar do assunto, fico agradecida… .de qualquer forma foi pesquisar a respeito

Isso é somente minha opinião:

Programar Java utilizando o Swing ou framework que use o Swing é igual a ir de bicicleta para o trabalho pensando que vai salvar o planeta.
O Máximo que vai ocorrer é você chegar todo molhado de suor no trabalho, pois teve muito mais esforço, trabalho mecânico e estresse para chegar à Empresa.

Traduzindo…
Java Swing está obsoleto e não vou escrever texto que explique isso.

É melhor dar um exemplo bem mais simples do tipo…

Por que você faz o seu programa de computador utilizando o Eclipse ao invés de utilizar o Notepad ou o Prompt do Dos?

Simples né? Já descobriu a resposta?

Agora falando em termos de tecnologia:
O mundo não para e quem fica andando de fusca, fica mesmo é para trás.
Novas tecnologias estão sendo lançadas enquanto estamos aqui aprendendo sobre este tema…rsrsrs

Porque vou perder meu tempo tendo 50 vezes mais trabalho para criar, atualizar, dar suporte e administrar projetos que usam Swing, se eu posso criar facilmente o mesmo projeto utilizando frameworks que já diminuem e muito meu trabalho?

Porque o Flex e o Flash da Adobe morreram?
Lembra quando o Jobs da Apple disse que o novo modelo do celular super moderno que eles iam lançar não ia usar Flash?

Pois é minha gente, se apegar à determinada tecnologia é assinar a própria sentença de morte. Se ela morrer, você vai junto.

Prova disso são as vagas de emprego para Estagiário, Programador, Desenvolvedor, Analista Java que não me deixam mentir.

Eu risquei Java Swing e JavaFx do meu cardápio, pois usando um Projeto Web dá para atender e muito bem.
Java Swing pois é um fusca nos dias de hoje…
JavaFx pois é o novo modelo do fusca que lançaram aí uns tempos atrás…
Prova disso são as Lambda que na minha opinião são uma verdadeira lambança que só ajuda a preguiçosos.

Caso precise rodar local então você coloca no seu cliente o seu servidor protegido com senha para somente você acessar. Assim todos que precisarem acessar vão ir no browser e acessar a url que aponta para o servidor interno lá.

Abraço.

Olá,

JavaFX for Swing Developers: https://docs.oracle.com/javafx/2/swing/jfxpub-swing.htm

JavaFX-Swing Interoperability: http://docs.oracle.com/javase/8/javafx/interoperability-tutorial/fx_swing.htm#JFXIP561

Nem todo sistema se enquadra no padrão WEB.
E tem melhores soluções para sistema desktop seja ele: Cliente/Servidor ou Multicamadas(Camadas de Serviços distribuídas).

No meu ver para adotar algo em desktop ou vai de Microsoft ou na minha humilde opinião a melhor ferramenta para desenvolvimento desktop ainda é o DELPHI… Podem falar o que for.

Desenvolvimento Desktop e para web concorrem em uma área mas tem aplicações que são melhor atendidas por um e outras melhor atendidas por outro. Tanto que o discurso de que 'só existe web agora ’ ouço desde o ano 2000. No fundo depende do mercado que quer atingir.

Em tempos, já usei aplicativos de frente de loja para web que inclusive controlam webcam e impressoras (o pessoal esquece de dispositivos com ip)

Se você for desenvolver um produto pra você, utilize a linguagem que quiser. Se for desenvolver pra aprendizad, com o objetivo de trabalhar em outra empresa com a mesma tecnologia procure na sua região as linguagens mais populares.

Particularmente gosto de JavaFX e achei bem melhor que Swing. Hoje a empresa onde trabalho desenvolve pra Web e também gosto, acho que estou velho demais pra ficar impondo preferência de linguagem aos outros querendo que todo mundo use o que eu quiser. Já trabalhei com n linguagens e trabalharia com outras n se o salário compensar, embora ultimamente trabalhe mais com gente do que com software.

Cara, assim, eu entendo seu ponto de vista. Aplicações web atendem uma boa parte da nossa vida kk
E sim, Swing e AWT se tornaram obsoletos. Mas pra mim, na aplicação que eu uso, aplicações web não me atendem. O cliente nem sempre vai ter internet e nem sempre vai precisar de servidor. Exemplo basico… Mas não vou precisar de web. E se eu precisar, posso retornar isso na minha aplicação… rs
De toda forma… Varia muito do que o cliente realmente precisa.

Perfeitamente Lucas.
Só ressalto que quando eu disse servidor não é servidor parrudo igual aqueles de grandes empresas. Pode ser qualquer micro só para servir a aplicação na Rede, pois se colocar o projeto no pc do cliente aí ele pode se apossar do projeto e pedir para alguém hackear o código.

Olha tem que ver muito se compensa atender esse tipo de cliente com o tipo de tecnologia do Java Swing, pois dá muita dor de cabeça para administrar e atualizar.

Por exemplo se o cara atualizar para uma jdk automático com a atualização automática que já vem no Java jdk ou com algum outro programa que scaneia o pc e procura novas versões, então pode dar grandes problemas para você que terá que dar suporte e resolver problemas de versões.

Nada garante que o pc do cliente vai ficar sempre sem conectar na Internet.

Mas tem que ver e por na ponta do lápis se compensa ou não.

Eu prefiro pedir o cliente para deixar um PC como servidor, que não precisa ser caro, pode ser desses barato mesmo e aí ele faz o acesso pela própria rede dele, com cabo e roteador por exemplo.
Montar uma rede Interna sem acesso a Internet pode ajudar muito em casos assim, pois se der problema você vai direto no servidor e pronto.

Abração meu caro.

Entendi.
Valeu pela ajuda também :v
Abraço

Em relação à atualização no Java8 já tem como empacotar o JRE jundo com a aplicação e gerar o .exe, .dmg ou o do linux. Web é muito bacana e sei que o mercado hoje gira em torno dela, mas ainda há muita resistência por parte dos clientes vejo isso diariamente na empresa que trabalho, eles preferem mil vezes um sistema desktop com um app para consulta mobile que uma página por mais amigável e interativa que seja, pode usar SPA, JSF, Angular… o que for, eles sempre vão querer Desk.
E eu particularmente tbm prefiro rs.

Se não for problema a escola parar porque caiu a internet, você pode fazer web. Mas se você pretende que o sistema funcione mesmo sem internet, a solução tem que ser desktop. Sobre soluções desktop, Java não é uma boa opção porque não roda nativo em Macs, Linux ou Windows.

O ideal mesmo seria identificar qual tipo de desktop é usado na escola e optar por uma solução nativa.

Não precisa de internet para uma “aplicação web” rodar.

A decisão da aplicação ser desktop ou web vai da necessidade de cada caso. Desktop é mais para ferramentas e quando uma aplicação precisa acessar recursos de hardware não suportados pelo navegador. Mas para sistemas de informações comuns geralmente é preferido web pela praticidade, mesmo que desktop seja uma opção de maior qualidade, exceto Swing claro que sempre foi uma das piores soluções desktop. As melhores opções para desktop hoje são C# para clientes Windows e C++ para portabilidade.

Não? Como você faz pra acessar um servidor web sem internet?

Intranet