🤔 Qual é a melhor stack de desenvolvimento para PDV (Ponto de Venda) em ambiente desktop e mobile?

Hey, colegas! Busco sempre estar em constante evolução na minha carreira e em busca da melhor tecnologia para desenvolver soluções eficientes e escaláveis, hoje tenho a ideia de expandir meus negócios e desenvolver uma solução própria de PDVs (Ponto de Venda). Sabemos que a escolha da stack de desenvolvimento é crucial para garantir um sistema robusto e de alto desempenho.

Entre as diversas opções disponíveis no mercado, na opinião de vocês quais linguagens / ou frameworks seria uma boa ferramenta para dar início a um projeto do "zero" e manter um software ainda moderno nos dias de hoje?

PS: Essa seria uma expansão a algumas soluções (que não são PDV) que já tenho hoje em dia e funcionam 100% na web, mas existe demanda para criarmos uma solução de PDV para rodar em desktop, mobile, etc.

Para desenvolver um PDV no Brasil a melhor linguagem é Delphi/Pascal pela abrangência de utilização dos componentes Acbr. Com eles você tem impressão de notas fiscais em impressoras de vários fabricantes, comunicação com balanças de vários fabricantes, emissão de nota fiscal eletrônica (NF-e), SAT, NFC-e e tantos outros componentes para automação comercial. Quem falar em PDV em desktop e não citar Acbr está por fora do assunto. Você até pode desenvolver em outra linguagem e usar o Acbr Monitor como ponte para as funções dos componentes, mas o melhor é poder usar diretamente em Delphi/Pascal.

Você acredita ser possível fornecer api's através de um SDK que ecapsule o Delphi ou Pascal e Acbr para que isso possibilite integrar e trablhar com outras tecnologias por exemplo o Tauri e Electron ou até mesmo Android para fazer interfaces mais "simpáticas" e robustas, possibilitando também integrar com um BFF que fará a tradução destes dados para o front facilitando a minipulação e manutenção?

Acho a melhor stack pra isso seria Java para desktop e Flutter para mobile. Maaaas... se tua aplicação for muito robusta, recomendo fazer em linguagens nativas.

PS: Essa seria uma expansão a algumas soluções (que não são PDV) que já tenho hoje em dia e funcionam 100% na web, mas existe demanda para criarmos uma solução de PDV para rodar em desktop, mobile, etc.

Se já roda na Web, você pode transformar em PWA, vai rodar de forma híbrida em todas as plataformas. Assim você ganha um fôlego para trabalhar nativamente nas suas aplicações. Para windows: C# Para Android: Kotlin Para Apple: Swift Para Linux: Java/C++

É isso, deixei meus 10 centavos de conhecimento.

Embroa eu saiba que algumas pessoas não gostam de uma respossta mais aberta, é só o que eu posso fazer com responsabilidade. E eu dei várias dicas não só sosbre isso, não para indicar algo, mas o que não deve fazer para decidir: https://www.tabnews.com.br/maniero/faq-do-programador-perdidao. Até daria para ajudar mais se tivesse todos os dados necessários.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

Poxa, obrigado pela tua contribuição. Porém... acredito que que boa parte dos conceitos apresentados aqui no seu post eu já tenho consciência deles e o intuito do meu post aqui foi identificar e colher a opinião mais sincera possível dos meus colegas programadores com mais experientes como nós, saber o que hoje em dia está ou não defasado no mercado, etc.

Opinião pessoal

Fuja de híbridos. Muitos irão te recomendar electron, react native, flutter....

Não caia na armadilha do desenvolvimento rápido. Híbrido não serve para aplicações profissionais.

Stack que eu escolheria

Android -> Nativo com kotlin

Apple -> Nativo com swift

PC -> Windows Forms OU .NET MAUI se precisar de multiplataforma

Cara, como assim fugir do hibrido por que não serve para aplicações profissionais? Trabalho na xp, estamos trocando o Kotlin do app e estamos colocando o flutter para trabalhar.
Boa! Nossa, ainda bem que não sou o único a ter a opinião que híbridos não são uma boa opção... Alguns colegas me indicaram como opção o vovô Delphi (solução da Embarcadero com licença bem "salgada"). Sem preconceitos, respeito quem ganhou e ganha a vida com esse essa Stack e acredito que hoje em dia ainda dá para fazer muita coisa legal com ela, porém se eu vou investir tempo e dinheiro nesse projeto eu não acredito que seja a solução ideal para mim. Pensei sim no .NET MAUI, entretanto eu não consigo acompanhar a velocidade na qual a Microsoft cria/compra um recursos e em seguida joga ele no lixo, como exemplo disso posso citar o Xamarin. Tenho um forte receio de investir nessa Slack e em seguida ter problemas para migrar, ou coisa do tipo. PS: Tudo que falei aqui estou falando com uma ideia superficial do que vejo, não sou especialista nessas ferramentas.
> Tenho um forte receio de investir nessa Slack e em seguida ter problemas para migrar, ou coisa do tipo. Pra ter essa segurança só desenvolvendo em tecnologias que já estão sólidas no mercado. Delphi realmente é uma boa opção, mas o que quebra é a licença. Uma ferramenta concorrente do Electron que tem chamado minha atenção é o [Tauri](https://tauri.app/). Ainda não tive a oportunidade em conhecer mas a comunidade do rust é famosa por ser bem forte.
Usar o Lazarus que usa o FreePascal é a solução ideal, pois ele é grátis e open source. Não precisa pagar licenças do Delphi.
Ou Nunca usou híbrido ou simplesmente não sabe usar para falar tamanha asneira descabida. Me diga em que situação profissional é viável construir um PDV desenvolvendo em 3 sistemas diferentes dando suporte a todas as peculiaridades que existem nos respectivos nativos? A menos que seja uma empresa enorme com equipes dedicadas não faz o menor sentido. Fora que mtos híbridos já compilam código de máquina, acessando funções nativas da máquina
> simplesmente não sabe usar para falar tamanha asneira descabida Você sabe o que é opinião? Você realmente acha que esse fórum é o lugar para usar esse "tom de voz"? > Me diga em que situação profissional é viável construir um PDV desenvolvendo em 3 sistemas diferentes dando suporte a todas as peculiaridades que existem nos respectivos nativos Poderia me dar um exemplo de opinião realmente profissional desenvolvida com híbridos?

Ja trabalhei no desenvolvimento de um produto CB4 para o mercado brasileiro usando fullstack js (Nest.js + React + React Native) e achei péssimo....

O que eu faria hoje:

Usaria pro backend alguma framework fullstack que me permitisse flexibilidade ao passo que eu pudesse escalar para microserviços, que eu pudesse fazer o admin rápido e que me permitisse maior poder de gerenciamwnto na web.

As opções que eu olharia hoje são;

  • Spring framework: Normalmente vc tem que integrar com outras porcarias de terceiro em java, fácil de contratar dev. Teria dor de cabeça em fazer um admin genérico.

  • Phoenix/Elixir: Um rails like que escala, mas é um porre de botar em nuvem (erlamg) porém se vc consegue , ganha uns superpoderes do erlang... Tem integração fácil de feature realtime e elixir é funcional. Talvez contratar dev pra isso seja mais caro pq é incomum.

  • Django: Teria os problemas de performance do python, mas teria um admin de graça desde que vc n tentasse fazer muita firula, fácil de gerur e de converter em microserviço no futyro se vc organizar as apps.

Pra banco, n pensa duas vezea e vai de postgres

Num mundo com htmx eu nem me daria ao trabalho de fazer app wrb frontend , so perder tempo e se estressar atoa.

Para mobile depende do que vc precisa....

se precisa fazer rápido, que as features sejam 1x1 android e IOS, vai de flutter

se IOS n for uma prioridade vai de kotlin

fique longe de:

React, Vue, Swelte, Rust

Pra desktop vc usa o flutter ou faz um webapp usando electron e foda-se.

Tauri pode ser usado, mas sinceramente melhor adiantar

se quiser pagar de louco pode trocar o backend por go, o tradeoff é twr que fazer o admin do zero, isso pode onerar muito tempo

No final depende do seu budget + deadline + conhecimenti