Móvil y dispositivos conectados, de quienes escribieron las bibliotecas
Las bibliotecas Shiny (Bluetooth, tareas en segundo plano, push, ubicación y sincronización para .NET) han superado los 40 millones de descargas y están en el archivo de proyecto de apps que usted conoce. Las escribimos, las mantenemos y trabajamos con el equipo de .NET MAUI de Microsoft. Cuando su app tiene que funcionar en dispositivos reales sobre el terreno, esa es la profundidad que está contratando.
Su app de Xamarin ya no tiene soporte y la migración a .NET MAUI se atasca una y otra vez en las dependencias.
Las tareas en segundo plano, el Bluetooth o las notificaciones push funcionan en la demo y fallan sobre el terreno.
Tiene hardware y necesita una app que se comunique con él de forma fiable en ambas plataformas.
Su app MAUI tarda en arrancar o falla de formas que no consigue reproducir.
Qué construimos
La parte de dispositivos del negocio, construida sobre una base que ya está en producción.
Móvil y multiplataforma
Apps de producción en .NET MAUI, iOS y Android, y migraciones de Xamarin a MAUI, incluido el trabajo en segundo plano, sin conexión y de ciclo de vida que la mayoría de los equipos hace mal. Trabajamos con el equipo de .NET MAUI de Microsoft desde los inicios de MAUI.
IoT y Bluetooth
BLE central y periférico, flotas de dispositivos e integración de hardware. Escribimos las bibliotecas que el sector usa para esto.
Flotas y operaciones de campo
Seguimiento de ubicación, geovallas y telemática para vehículos y equipos que trabajan donde la conectividad no está garantizada.
Wearables y vehículo
Aplicaciones para Apple Watch, Wear OS, CarPlay y Android Auto que llevan su aplicación móvil a la muñeca y al salpicadero, pensadas para un vistazo o una orden de voz, no para una pantalla de teléfono encogida. La conexión entre el teléfono y el reloj funciona con una biblioteca que escribimos nosotros.
El retorno, en aritmética simple
Un presupuesto compra meses de ingeniería. La pregunta es en qué se gastan esos meses. En un producto conectado, cualquier cosa con un dispositivo, un proceso en segundo plano o funcionamiento sin conexión, una gran parte del primer año se va en infraestructura que el cliente no ve y que miles de equipos ya han escrito antes.
Base e infraestructuraSu producto
Desarrollo típico
Con nosotros
Proporciones ilustrativas: el reparto exacto depende del proyecto. Lo que no cambia es de qué lado de la línea le está pagando a un equipo de ingeniería por reconstruir.
Antes
Los ingresos y la retroalimentación llegan antes, porque el calendario no empieza con un trimestre de trabajo de base.
Más seguro
Los subsistemas más arriesgados (trabajo en segundo plano, sincronización, conectividad con dispositivos) ya están probados en producción antes de que empiece su proyecto.
Más barato de mantener
Menos código propio significa menos que parchear, migrar y dotar de personal cada año tras la entrega.
La esquina que la mayoría de los proyectos sacrifica es una que nosotros ya pagamos, de forma abierta, a lo largo de 25 años, y viene incluida en el proyecto. Lo que eso le aporta es simple: más parte del año se dedica al producto que usted se propuso construir, y menos a llegar a la línea de salida.
.NET MAUI y migración de Xamarin
Todo aquello de lo que dependía su app de Xamarin, ya lo tenemos
Las migraciones de Xamarin a .NET MAUI son una de nuestras especialidades, igual que el propio .NET MAUI. Trabajamos con el equipo de .NET MAUI de Microsoft desde los inicios de MAUI, y nuestras bibliotecas han ayudado a dar forma al ecosistema sobre el que se construyen hoy las apps MAUI.
Xamarin dejó de tener soporte en mayo de 2024. Lo que frena estas migraciones casi nunca es la conversión de la interfaz: es la lista de dependencias. Cada plugin abandonado detrás de Bluetooth, las tareas en segundo plano, la localización, las notificaciones push, el almacenamiento y la sincronización tiene que sustituirse por algo que nadie del equipo ha usado todavía en producción. Esa evaluación es donde se van los meses, y donde está el riesgo.
Cómo suele ir la migración
Semanas auditando plugins muertos y eligiendo sustitutos a ciegas.
Compila, funciona en la demo y luego el comportamiento en segundo plano, sin conexión y con Bluetooth empeora discretamente en dispositivos reales, en el terreno.
Lo que ningún sustituto cubre se convierte en código de plataforma a medida que su equipo tendrá que mantener para siempre.
La entrega de funcionalidades se detiene mientras dura, porque todo el mundo está con la migración.
Cómo va con nosotros
La auditoría de dependencias es, en gran parte, una consulta. Sabemos qué sustituye a qué porque publicamos y mantenemos el sustituto.
Los subsistemas peligrosos llegan ya resueltos: funcionando hoy en iOS y Android, en apps de producción de otras empresas.
Hemos hecho esta migración suficientes veces como para saber dónde duele de verdad, así que la estimación se basa en el trabajo, no en el optimismo.
Usted termina sobre bibliotecas de código abierto con más de 40 millones de descargas, no sobre una capa privada que solo entiende el contratista.
Cubierto por nosotros, ya en producción
No hay ninguna parte de una app móvil en la que le devolvamos una lista de opciones para que las investigue. Elija cualquier parte de la app antigua: la respuesta ya existe.
Bluetooth y hardwareBLE central y periférico, GATT, L2CAP, y el comportamiento de emparejamiento y reconexión que solo aparece en dispositivos reales.
Tareas en segundo planoTrabajo que sigue ejecutándose con los planificadores del sistema operativo en iOS y Android, en lugar de morir con la app.
Localización y geovallasSeguimiento GPS, geovallas y actividad de movimiento, incluido el complicado proceso de permisos en segundo plano que exigen ambas tiendas.
Notificaciones pushAPNs y FCM nativos en el dispositivo, Azure Notification Hubs si lo utiliza, y el lado del servidor que las envía.
Notificaciones localesProgramación, repeticiones, canales, insignias y acciones interactivas en ambas plataformas.
Almacenamiento sin conexiónConfiguración y almacenes clave/valor, además de una base de datos documental sobre SQLite y los motores de servidor que la respaldan.
Sincronización y transferenciasSincronización bidireccional y subidas y descargas en segundo plano que sobreviven a zonas sin cobertura, suspensiones y modos de ahorro de batería.
Voz y audioVoz a texto, texto a voz, palabra de activación y flujos manos libres para personas que no pueden sostener un teléfono.
Datos del dispositivoContactos, datos de salud, la biblioteca de música y permisos, gestionados como cada plataforma espera.
Códigos de barras y escaneoEscaneo con cámara y generación de códigos en las simbologías de las que dependen las apps de almacén y de campo.
Controles de interfazVistas de tabla, vistas de árbol, superposiciones, chat, edición de imágenes, selectores e insignias: el conjunto de controles en el que se apoyaban las apps antiguas.
Arquitectura de la appInyección de dependencias, hosting, navegación, localización y patrones mediator, para que la estructura de la app sobreviva a la migración.
IA en la appAsistentes, chat y voz incorporados mientras ya está trabajando en el código, si la reconstrucción es el momento adecuado para ello.
Cómo empezamos una migración
Un análisis de dependencias y riesgos de la solución existente: qué pasa directamente, qué no tiene equivalente y qué no debería sobrevivir a la migración. El resultado es un plan por fases que puede presupuestar, y la migración avanza plataforma por plataforma junto a su hoja de ruta en lugar de congelarla.
¿Ya está en .NET MAUI?
No todo proyecto de MAUI es una migración. También ayudamos a equipos que ya dieron el paso: rendimiento y tiempo de arranque, tareas en segundo plano que dejaron de ejecutarse tras una actualización del sistema operativo, handlers y código de plataforma, fallos que solo se reproducen en dispositivos reales, y mantenerse al día con cada nueva versión de .NET. Cuente con nosotros para una revisión, un problema persistente o como ingenieros sénior de MAUI junto a su propio equipo.
Ofertas de entrada de alcance cerrado
Un primer paso que un responsable puede aprobar
Cualquier proyecto puede empezar con una de estas ofertas. Cada una tiene un nombre y un alcance por escrito antes de empezar, de modo que la primera decisión es pequeña, y usted ve cómo trabajamos antes de comprometerse con algo de mayor tamaño.
10–20 horas, terminado en 2 semanas como máximo
Revisión del estado de una app .NET MAUI
Para apps que ya están en .NET MAUI: tiempo de arranque, fallos que solo se reproducen en dispositivos reales y tareas en segundo plano que dejaron de ejecutarse tras una actualización del sistema operativo.
Qué incluye
Arranque, memoria y renderizado perfilados en dispositivos reales
Informes de fallos y ANR analizados hasta la causa raíz
Comportamiento en segundo plano, push y ciclo de vida comprobado
Ruta de actualización a la siguiente versión de .NET
Con qué se queda
Una lista ordenada de correcciones, con las más graves diagnosticadas hasta la línea de código.
Cada plugin y dependencia de plataforma de su app de Xamarin, con lo que lo sustituye en .NET MAUI: el paso en el que se atascan la mayoría de las migraciones.
Qué incluye
Inventario de cada paquete NuGet y cada binding de plataforma
Un sustituto para cada uno, ya en producción en otros proyectos
Qué no tiene equivalente y qué no debería sobrevivir a la migración
Plan de migración por fases y presupuestado
Con qué se queda
Un plan de migración basado en una consulta y no en una fase de investigación, y una estimación real.
Su hardware comunicándose con una app real en iOS y Android (escaneo, conexión, reconexión y sincronización en segundo plano) en dispositivos, no en un simulador.
Qué incluye
Conexión BLE, GATT y reconexión con su dispositivo
Funcionamiento en segundo plano dentro de las reglas de cada sistema operativo
Datos sincronizados con un endpoint en la nube
Observaciones sobre el firmware y el protocolo, si necesitan cambios
Con qué se queda
La prueba de que la parte difícil funciona en teléfonos reales, y un camino presupuestado hasta la app de producción.
Cada oferta se presupuesta a precio cerrado cuando hemos visto el alcance, y un precio cerrado no cambia: si nos lleva más tiempo, es problema nuestro, no suyo.
Preguntas que nos hacen los clientes
¿Cuánto dura una migración de Xamarin a .NET MAUI?
Rara vez lo decide la conversión de la interfaz: lo decide la lista de dependencias. La auditoría de dependencias de dos semanas asigna a cada plugin su sustituto y lo convierte en una estimación por fases.
¿Tenemos que usar las bibliotecas Shiny?
No. Normalmente tiene sentido, porque son de código abierto, ya están en producción y las mantienen las mismas personas que hacen el trabajo. Nunca queda atado a una capa privada que solo entiende el contratista.
¿Pueden trabajar con nuestro equipo de hardware o nuestro proveedor de firmware?
Sí. La mayoría de los problemas de Bluetooth aparecen en la frontera entre la app y el firmware, y estamos acostumbrados a trabajar a ambos lados, incluido decirle a un proveedor qué tiene que cambiar por su parte.
¿Desarrollan apps nativas en Swift y Kotlin?
Nuestra especialidad es .NET MAUI y .NET para iOS y Android, incluido el código nativo de plataforma que hay debajo. Si una app nativa es la decisión correcta para su producto, se lo diremos.
¿Está construyendo algo que tiene que funcionar sobre el terreno?
Cuéntenos sobre la app, los dispositivos y dónde se usan. Le diremos dónde suele fallar, y cómo lo evitaríamos.
Usamos Google Analytics para saber sobre qué páginas vale la pena escribir más. Permanece desactivado hasta que usted indique lo contrario, y nada en este sitio depende de él. Consulte nuestra política de privacidad.