Desenvolver Software com Java, MySQL p/ Linux

16 respostas
bsmachado

Ola pessoal, estive recentemente conversando com uns colegas sobre jobs freela e vimos a questão de desenvolver um sistema que seria usado em maquinas com Linux…
Alguém aqui ja fez isso e convenceu clientes na boa??

16 Respostas

Lucas_Camara

Pela pergunta, imagino que seja sistemas desktop. Com o java, vc desenvolve a aplicação e ela vai funcionar no linux, windows de boa. Qual a dificuldade que vc acha que teria para convencer algum cliente disso?

rodriguesabner

Acredito que o maior problema seja o esquema de pastas mesmo

javaflex

Não tem o que convencer, atenda o ambiente de cada cliente de acordo com x ou y que ele usar, pra não trazer mais problemas do que soluções.

Dependendo do requisito faz uma aplicação web pra ninguém se preocupar com isso.

staroski

Porquê?
Se usar a classe File adequadamente, ao invés de String, ela é independente de plataforma.

rodriguesabner

Mas não é passado uma String dentro de File? Por exemplo new File("c:\\pasta");.

O correto é fazer um If e else pra detectar o sistema e adicionar a pasta correta, certo?

wldomiciano

No caso, a interface Path não serve justamente pra abstrair este tipo de coisa?

final var path = Path.of("path", "to", "file");
final var file = path.toFile();

Geraria path/to/file no Linux e path\to\file no Windows.

Ou lidar com o sistema de arquivos requer mais coisas?

rodriguesabner

Hmmmm, maneiro.

Na verdade eu nem sabia como se faria com outro sistema operacional. Sempre o público que eu usava era Windows, como sempre tive um sistema voltado pra portaria de condomínio e os usuários eram básicos eu nunca me preocupei com outro. Mas valeu pela informação brother

staroski

A classe File possui sobrecarga de construtores.
A forma que você postou é dependente do formato de caminhos do Windows.

Mas para usar a classe File para acessar, por exemplo, o caminho C:\uma\pasta\dentro\de\outra, pode fazer o seguinte:

File f = new File("C:");
f = new File(f, "uma");
f = new File(f, "pasta");
f = new File(f, "dentro");
f = new File(f, "de");
f = new File(f, "outra");

Outra alternativa é usar sempre o caractere / para separar os diretórios, o File substitui o / pelo separador adequado.

Entretanto, desde que existe a classe Path, montar caminhos independentes de plataforma é mais simples, como o @wldomiciano mostrou.

javaflex

Se teus clientes só usam Windows, não é problema mesmo, é mais produtivo. Quando é o caso de trabalhar com path fixo, costumo parametrizar em algum lugar, na maioria das vezes em uma tabela de parâmetros.

bsmachado

Valeu ai galera, pelo feedback…
A principio será um sistema desktop rodando em linux e a parte de do Mysql, pode ser que rode em algum provedor na nuvem, pra questão de backup e segurança…
Interessante esse ponto de pastas… agradeço a ajuda.

Lucas_Camara

Dependendo do sistema, talvez seja interessante fazer web msm (ainda mais se for em java).

javaflex

Com certeza, nao deixe de avaliar se poderia ser web, muito mais cômodo para o usuário e a sua administração. Além disso, acessar banco remotamente como está querendo, expõe o serviço do banco na internet e é mais lento do que a aplicação web acessando lá na mesma rede.

Desktop está morto para a maioria dos casos de novos sistemas de informações. Se for algo do tipo PDV ou que nao possa ser web, faz um módulo somente pra isso, e o resto web.

j-menezes

Ú !!! direto e reto.
Convencer pra usar algo melhor é sempre mais facil.
Sem se preocupar com virus, travamento, licença, esse linux + java casamento perfeito.

bsmachado

Verdade, esse ponto de segurança é bom… um colega mencionou que ele trabalha numa empresa de TI e la colocaram maquinas novas com Linux Ubuntu pra baratear… e foi bem melhor…

j-menezes

Tenho maquina rodando linux + java desktop e a mais de 15 anos nada de virus ou travamento.
A pouco tempo atras fui fazer a biometria pra votar e advinha o sistema do governo travou, estava com windows ( corra quem puder dessa encrenca )
Então falei pra atendente, e se voce dar um reset ?
Ela respondeu : O que !?, já dei uns 10 resets e trava toda hora.

bsmachado

Verdade… empresas usam Linux ha anos sem fazer manutenção… um colega trab. um tempo pro BB e la ele disse que tem maquina rodando Linux ha uns 4 anos sem da manutenção… e sobre o sistema… usarei MariaDB, Java e rodar no Linux …

Criado 28 de agosto de 2020
Ultima resposta 4 de set. de 2020
Respostas 16
Participantes 7