A maior diferença de softwares desktop e app web esta na reserva de estado dos objetos, quando criamos uma aplicação web temos um mindset focado em stateless a falta de estado das transações atomicas http ja em softwares desktop e mobile temos a reserva do estado dentro da aplicação statefull. Fora esta particulariedade da forma de ajustar a comunicação, os caches e enteder o protocolo http na linha de criação dos algoritmos entendo que são similares.

Poderia explicar um pouco melhor a questão do statefull e stateless para app desktop? Eu programo apps simples para desktop. Mas não conheço bem esses termos, tipo oq estaria dizendo é de que os dados armazenadas na rom e ram de um app desktop ficam apenas no próprio programa(statefull) e nos app web(stateless) eles ciclam entre front e database backend?

As aplicações web dentro do protocolo HTTP são baseadas em verbos e chamadas atomicas, onde cada chamada HTTP é idependente não guardando seu estado, algumas pessoas vão falar sobre headers de authorização ou cookies mantem um estado na aplicação mas isso não é verdade pois este estado é remontado durante o ciclo de vida da requisição dentro da aplicação web (mesmo que recuperando de caches internos), isso caracterisa esta ausencia de estado como uma aplicação stateless, já um app mobile ou desktop retem em memória objetos que são transacionados e alterados durante todo seu ciclo de utilização mantendo o estado da aplicação em memória e ao acesso da aplicação. Não sei se ficou claro.