Servicio

Desarrollo de aplicaciones de escritorio a medida

Para el trabajo que una pestaña de navegador hace mal.

El escritorio es una elección deliberada, no una herencia. Se justifica cuando la tarea es entrada por teclado de alto volumen, cuando entra en juego hardware local — básculas, impresoras, escáneres, lectores biométricos — o cuando el software debe seguir funcionando con internet caído. Construido para Windows, que es donde se hace realmente ese trabajo.

La decisión

Cuándo es la elección correcta.

Casi todo se ha trasladado al navegador, y en la mayoría de los casos es lo correcto. Tres usos no siguieron bien ese camino. El primero es la entrada intensiva por teclado: un operador que registra cuatrocientas líneas al día necesita un orden de tabulación, atajos de teclado y una respuesta inmediata que un formulario web rara vez alcanza.

El segundo es el hardware. Básculas, impresoras de etiquetas y matriciales, lectores en modo teclado, lectores biométricos, periféricos en puerto COM. El acceso desde el navegador o es imposible o es lo bastante frágil como para convertirse en la mayor parte del trabajo del soporte.

El tercero es el funcionamiento sin red. Un mostrador que no puede facturar cuando cae la conexión es un mostrador parado, y para muchas empresas esa no es una avería aceptable. Una aplicación de escritorio con datos locales y sincronización en segundo plano, en cambio, simplemente continúa.

Lo que se obtiene

Qué cubre el encargo.

Entrada guiada por teclado

Orden de tabulación, atajos y validación en el sitio, pensados para alguien que nunca toca el ratón y se sabe el formulario de memoria.

Hardware local

Básculas, impresoras de etiquetas, facturación matricial, escáneres y lectores biométricos, controlados directamente en vez de a través de una capa de navegador.

Funcionamiento sin red

Una base de datos local como espacio de trabajo, con sincronización hacia el servidor cuando es alcanzable y una regla de conflictos clara cuando no lo es.

Sincronización multisede

Sedes que funcionan de forma autónoma y se reconcilian con la central, sin un enlace permanente con la sede.

Aritmética exacta

El dinero en decimal de coma fija en todas partes. La coma flotante en un sistema de facturación es una disputa de redondeo esperando a que la encuentren.

Actualizaciones gestionadas

Actualizaciones firmadas y versionadas, entregadas y aplicadas sin que un técnico pase por cada equipo.

Stack

Con qué lo construimos.

Elegidos proyecto a proyecto. Aquí no se impone nada por defecto, y el equipo que se encargará del mantenimiento pesa tanto como el problema.

Aplicación

.NET con WPF o WinUI para Windows, elegidos por el acceso al hardware y la madurez del despliegue, no por moda.

Datos locales

SQLite o SQL Server LocalDB, con una ruta de migración que sobrevive a un cambio de esquema en un equipo sin conexión.

Sincronización

Una API compartida con la plataforma web, para que los clientes de escritorio y navegador no diverjan en sus reglas de negocio.

Hardware

Puerto serie, USB HID y SDK de fabricante, probados con los dispositivos que usted realmente tiene.

Despliegue

Instaladores firmados con actualización automática y una vuelta atrás que funciona.

Comparación

Navegador o cliente de escritorio.

El escritorio es una elección deliberada para un conjunto reducido de tareas. Aquí está dónde gana cada uno realmente.

Navegador frente a cliente de escritorio
AspectoNavegadorCliente de escritorio
DespliegueNada que instalar; todo el mundo está al instante en la versión actualUn instalador firmado con actualización automática y una vuelta atrás que funciona
Entrada intensiva por tecladoPosible, pero rara vez tan rápido como un operador que se sabe el formulario de memoriaOrden de tabulación, atajos y respuesta inmediata, pensados para quien introduce cuatrocientas líneas al día
Hardware localBásculas, impresoras matriciales y periféricos en puerto COM: imposibles o frágilesControlados directamente vía SDK del fabricante, puerto serie y USB HID
Funcionar cuando la red caeSe detiene, salvo que se añada una ingeniería considerableContinúa sobre datos locales y se reconcilia cuando vuelve el enlace
AlcanceCualquier dispositivo, en cualquier lugar, incluidos los teléfonosLos equipos donde lo instale, normalmente con Windows
La respuesta correcta paraDirección, informes, cualquier cosa multidispositivo o remotaEl mostrador, el taller, el puesto de pesaje

Cómo se desarrolla

De la primera conversación a estar en producción.

Orientativo para un trabajo de esta naturaleza. El piloto no es opcional: nada se conmuta hasta que los usuarios dicen que aguanta.

  1. 1 semana

    Definición del alcance

    Observamos la entrada real e inventariamos cada dispositivo que haya que controlar. Es esa lista de dispositivos la que hace o deshace la estimación.

  2. 4 a 7 semanas

    Construcción de los cimientos

    Primero la ruta de entrada y la integración de hardware, probadas con los dispositivos que usted tiene y no con equivalentes.

  3. 2 semanas

    Piloto en mostrador

    Un mostrador o una máquina lo usa mientras el proceso existente continúa, hasta que los operadores dejan de volver al sistema antiguo.

  4. 1 a 3 semanas

    Despliegue gradual

    Los equipos restantes, la actualización automática firmada activada y la ruta de sincronización con la plataforma web verificada cortando la red a propósito.

Después de la puesta en marcha

Qué cambia.

  • El operador deja de esperar a la pantalla, y a lo largo de una jornada completa ese es todo el argumento a favor del escritorio.
  • Una caída de conexión deja de significar un mostrador parado.
  • El hardware que se manejaba a mano, o no se manejaba, entra en el registro.
  • Las actualizaciones llegan a cada equipo sin que un técnico recorra la oficina.

Descrito cualitativamente a propósito. No publicamos porcentajes de mejora que no podamos vincular a un cliente concreto con su consentimiento.

Preguntas

Preguntas frecuentes.

¿No está anticuado el software de escritorio?

Para la mayoría de las aplicaciones sí, y recomendaremos la web. El escritorio sigue siendo la respuesta correcta para la entrada intensiva, el hardware local y el funcionamiento sin red. Elegirlo por esas razones es una decisión de ingeniería, no una herencia.

¿Puede funcionar también con nuestro sistema web?

Sí, y normalmente es lo deseable. El patrón habitual es un cliente de escritorio en el mostrador o el taller y un navegador para dirección, ambos sobre la misma API, para que las reglas no diverjan.

¿Y macOS o Linux?

Es posible y merece una conversación. La mayor parte de la demanda es de Windows, porque es donde están los controladores del hardware y el parque existente.

¿Cómo se gestionan las actualizaciones?

Las actualizaciones firmadas llegan automáticamente y se aplican al reiniciar, la versión es visible dentro de la aplicación, y existe una vuelta atrás si una versión se comporta mal.

¿Pueden la aplicación de escritorio y el sistema web compartir una base de datos?

Deberían compartir una API en lugar de una base de datos. Dos clientes escribiendo directamente en las mismas tablas es exactamente así como divergen las reglas de negocio; una API delante significa que las reglas no pueden diferir entre el mostrador y el navegador.

¿Qué pasa si un equipo lleva una semana sin conexión?

Continúa sobre datos locales y se reconcilia al reconectar, según una regla de conflictos elegida durante el alcance en lugar de dejada a lo que el código haga por defecto. Todo lo que sea realmente ambiguo se muestra a una persona en vez de resolverse en silencio.