Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida CRUEL de PROGRAMAÇÃO ou SOFTWARE sem uma URL!?

Isso é apenas um exemplo para poder me orientar em qual linguagem me guiar:

  1. Quero criar um sistema para a lojinha da esquina onde ele passa as compras, passa os produtos, pode cadastrar(talvez em outra parte do sistema) e faz o pagamento tudo pelo desktop, ele não entra na web por uma url para fazer isso, mercados grandes também não fazem isso, ele tem um sistema no painel onde está toda essa logica.

  2. Outro exemplo caso o primeiro não ajude a ver minha visão, seria uma fazenda onde tem o sistema que controla o tempo, plantação, tratores e busca sinal via satelite(dificil ter acesso a internet em alguns lugares), isso por um painel onde tem as logica dentro dele pra fazer algumas modificações ou até mesmo só pra se informar sobre a situação da produtividade, porque um fazendeiro não quer acessar o "google" e depois por a URL para fazer seu login pra ter acesso aos usuários tratores(algo que toda logica de web geralmente implementa).

DUVIDA:

Não estou focando no hardware e sim no software que envolve ele, um software desktop onde ele tem esses requisitos e o cliente pode fazer manualmente apenas pelo painel.

  • Qual linguagem vocês acham que seria melhor para aprender a fazer isso e o porque?
  • Aqui na Alura tem alguma linguagem de algum curso que ensine a mexer nisso? // Sei do JavaFX, mas não temos aqui na Alura
  • Por favor peço mais de uma linguagem só para poder estudar mais sobre!

Eu não estou me limitando apenas cursos que existem na Alura, quero uma visão geral de quais linguagens especificamente isso seria melhor encaixado para ser aplicado, até mesmo para ajudar pequenas empresas que precisam de um sistema ou realmente seria melhor criar uma API pra qualquer software que tu for criar??

Ia criar um sistema de Dados(RPG DE 20 LADOS) esses dias, e no inicio quando percebi estava criando uma API Web só pra girar um dado e mostrar danos do inimigo e seu sistemas, queria sair dessa onda do API web e criar algo mais pessoal, onde tu cria um software pro cliente em especifico, sem distribuir para outros alheios da internet em uma URL.

"Falam muito que sistemas Desktop saiu de moda, mas eu não consigo entender como entrar na internet por uma url seria melhor do que ter um sistema Desktop onde tu tem controle de tudo para se orientar e modificar conforme quer(adm) e deixar apenas a parte do cliente na URL"

  • Se poder deixar sua visão sobre o que falei e como você aplicaria isso me ajudaria muito!
2 respostas

Boa noite, meu amigo! Tudo bem?

Entendi sua dúvida, e apesar do seu conhecimento em JavaFX eu não indico desenvolver um sistema com essa ferramenta. Hoje temos ferramentas mais modernas que nos permitem utilizar libs mais modernas. Um que já utilizei é o Electron (utiliza o node e o chromium), o qual lhe permite criar aplicações desktop utilizando html, css e js (React, Vue, Angular...).

Mesmo sendo um framework que indico para fazer programas desktop, ainda sim vale a pena se aprofundar melhor nas outras linguagens de backend como C# (Windows Forms ou WPF), Python (Tkinter ou PyQT) ou mesmo o próprio Java. Em algumas situações onde você se preocupa com desempenho o Electron não é muito indicado e se faz necessário utilizar estes outros recursos.

Mas resumindo, não existe melhor... Depende da aplicação e da prioridade dos requisitos.

solução!

Boa tarde Andrio, beleza?

Então. sobre o teu questionamento, gostaria de apontar algumas questões para reflexão:

  1. Sobre essas questões, é fundamental lembrar que um computador, na maioria das vezes (pra não dizer quase nunca...) não realiza uma sequência de tarefas de negócio sozinho. Para que máquinas se comuniquem, é preciso elas conversem, ou seja - de um protocolo de comunicação.
  2. Sendo bem xulo, tanto faz se a aplicação for desktop ou web - essas comunicações também ocorrem, com a diferença de que a comunicação foi mais abstraída ao lado cliente;
  3. No exemplo do mercado - o que você vê no desktop é o front-end. Na maior parte das vezes, há um backend que esta aplicação está se comunicando, que não é visível ao cliente (afinal, teríamos perdas de performance se cada aplicação tivesse que manter um banco de dados sobre os códigos dos produtos...). No sentido de segurança, é um risco se você mantiver a lógica de negócio unido desta forma, visto que o cliente consegue manipular dados de forma indevida assim;
  4. Referente à fazendas, boa parte do interior já possui acesso à tecnologia para comunicação via IoT (Sugiro procurar a área de disponibilidade da lorawan, como exemplo), e o envio de informações utilizam também protocolos de comunicação.

Dito isto, tenho algumas opiniões sobre a questão: I. Não devemos ser apaixonados por stacks ou plataformas, devemos ser apaixonados por resolver problemas; II. Por mais que não possamos ver, sistemas no mundo real 99,9% das vezes se comunicam. Então, antes de criar sistemas, é importante entender como conversam - assim sendo, minha primeira recomendação é entender HTTP.

Por fim, tecnologias existem inúmeras opções. Particularmente no meio vejo o povo usando para aplicações deste tipo C#(não cito framework pq a Microsoft tem uma política doida de suporte), Flutter (Esse aqui é compatível com mobile também) e Kotlin Compose Multiplatform.

PS: O pessoal que trabalha com SIG chorou lendo a citação ao final.