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.
| Aspecto | Navegador | Cliente de escritorio |
|---|---|---|
| Despliegue | Nada que instalar; todo el mundo está al instante en la versión actual | Un instalador firmado con actualización automática y una vuelta atrás que funciona |
| Entrada intensiva por teclado | Posible, pero rara vez tan rápido como un operador que se sabe el formulario de memoria | Orden de tabulación, atajos y respuesta inmediata, pensados para quien introduce cuatrocientas líneas al día |
| Hardware local | Básculas, impresoras matriciales y periféricos en puerto COM: imposibles o frágiles | Controlados directamente vía SDK del fabricante, puerto serie y USB HID |
| Funcionar cuando la red cae | Se detiene, salvo que se añada una ingeniería considerable | Continúa sobre datos locales y se reconcilia cuando vuelve el enlace |
| Alcance | Cualquier dispositivo, en cualquier lugar, incluidos los teléfonos | Los equipos donde lo instale, normalmente con Windows |
| La respuesta correcta para | Dirección, informes, cualquier cosa multidispositivo o remota | El 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 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.
- 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.
- 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.
- 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.