---
title: "Desarrollo de Apps Móviles"
canonical: https://wavect.io/es/services/mobile-apps/
language: es
description: "Construimos apps móviles para iOS y Android usando React Native, Flutter, Ionic y tecnologías nativas. Tiempo de lanzamiento rápido sin sacrificar la calidad."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

Desarrollo Móvil

# Desarrollo de Apps Móviles

Construimos apps móviles que funcionan en todos los dispositivos, ya sea iOS, Android o ambos. De MVPs a productos a escala completa, tiempo de lanzamiento rápido sin atajos.

- 75+ productos entregados
- 10+ años de experiencia
- No-Bullshit Guarantee

// 01

## ¿Cuál es nuestro stack mobile?

Elegimos la herramienta correcta para tu proyecto, no la que es más fácil para nosotros.

React Native

Un codebase, iOS y Android. Sensación nativa con ciclos de iteración rápidos. Nuestro framework móvil más utilizado.

Flutter

UIs bellas y expresivas que funcionan a 60fps en cualquier dispositivo. Ideal para diseños pixel-perfect.

Ionic

Apps web-first empaquetadas como nativas. Ideal cuando necesitas móvil y web desde un solo proyecto.

Android Nativo

Java o Kotlin cuando tu app requiere acceso completo al hardware y APIs de plataforma de Android.

// 02

## Por Qué Elegirnos

Hemos lanzado apps que la gente realmente mantiene instaladas. Aquí tienes por qué eso importa.

Tiempo de Lanzamiento Rápido

Entrega eficiente para que llegues a los usuarios antes y valides tu idea antes de quemar runway.

Experiencia de Producto

La mayoría de los proyectos no fracasan por falta de ingenieros; fracasan por malas decisiones de producto. Somos un puente entre ambos.

Listo para las Tiendas

Gestionamos la publicación, los metadatos, las capturas y el cumplimiento tanto en Google Play como en la App Store.

Soporte a Largo Plazo

Desde la primera idea hasta el lanzamiento y más allá, seguimos comprometidos mientras tu producto crece.

CÓMO DESARROLLAMOS SOFTWARE

## Cómo Desarrollamos Software

Cinco fases. Precios fijos. Sin bloqueo.

Phase 01

### Fase de Descubrimiento

Precio fijo en 3.500€ [Comprar ahora](https://buy.stripe.com/14k4kbbMJ1unb4I7sw)

- Ingeniería de Requisitos
- Arquitectura de Software
- Plan de Hitos
- Flujos Técnicos y Diagramas de Secuencia
- Plan de Lanzamiento y Plan de Hitos

Phase 02

### Primera Iteración

Precio fijo entre 15–20k€ (MÁX) [Reservar Fase de Descubrimiento](https://buy.stripe.com/14k4kbbMJ1unb4I7sw)

- Construyendo tu MAP real (Producto Mínimo Asombroso)
- Enfoque rentable. Reducir requisitos a máx. 15–20k
- Prueba directamente en el mercado con clientes reales al menor coste posible
- El coste de la Fase de Descubrimiento se descuenta como rebaja

Phase 03

### Iteraciones Posteriores

Paquetes de precio fijo / Precio Ágil Fijo [¿Qué es el Precio Ágil Fijo?](/es/blog/agile-fixed-pricing/)

- Construir y ampliar el producto basándose en la demanda real de clientes/usuarios
- Idealmente parcialmente financiado por ventas reales
- Decisiones de desarrollo basadas en datos (observar comportamiento de usuarios, no sus demandas)
- Ciclo de mejora continua

Phase 04

### Mantenimiento

Retainer semanal fijo 750€ / semana, cancela cuando quieras [Hablemos](/es/contact/)

- Parches de seguridad (a nadie le gustan las brechas de datos o perder dinero)
- Corrección de bugs (puede ser una razón importante de abandono de clientes)
- Soporte técnico (la mayoría de las empresas tienen un soporte al cliente abismal)
- Optimización de rendimiento, coste y CI/CD

Phase 05

### Desarrollo Adicional / Traspaso

Tu producto, tu equipo. Nunca te bloqueamos.

- Nunca te haremos dependiente de nuestro equipo
- Transición fluida a tu equipo interno
- Transferencia de conocimiento y documentación
- Soporte continuo según sea necesario

// pruebas

## Pruebas, no promesas

### [Offlinery](/es/case-studies/offlinery/)
- **Status:** Cerrado
- **Outcome:** Tiempo real - Motor de matching propio
- **Summary:** Matching propio de proximidad en tiempo real en iOS/Android contra throttling agresivo del OS, full stack.
- **Stack:** React Native / Expo, NestJS, TypeORM

### [Scramble Wallet](/es/case-studies/scramble-wallet/)
- **Status:** En Vivo
- **Outcome:** 50+ - Edad del Usuario Objetivo
- **Summary:** Extensión multi-navegador, Tron añadido, iOS + Android por múltiples rutas, construida sobre un fork de Enkrypt, deuda pagada …
- **Stack:** VueJS, Typescript, NestJS

### [LivLive](/es/case-studies/livlive/)
- **Status:** En Vivo
- **Outcome:** +1.000 - Usuarios Concurrentes
- **Summary:** Plataforma AR-RWA: $2M+ recaudados a través del producto, 1.000+ usuarios concurrentes, seis semanas exactas.
- **Stack:** Solidity, Typescript, React

Estos son proyectos seleccionados, no nuestro portfolio completo. Hemos entregado más de 75 productos desde 2018.

### Lo que dicen los clientes

Comunicación, trabajo y planificación: perfectos. " data-quote-original=" **Communication, work, and scheduling: all perfect.** " data-original-lang=en>

Google

**Comunicación, trabajo y planificación: perfectos.**

Leer más →

Tom

Traducido · toca para original

Se ganaron mi confianza para futuras cooperaciones. Un equipo extremadamente dedicado y apasionado, pero también bien formado y fiable. Con sede en el Tirol, trabajando internacionalmente." data-quote-original=" **Earned my trust for future cooperations.** An extremely dedicated and passionate but also well-trained and reliable team. Based in Tirol, working internationally." data-original-lang=en>

Trustpilot

**Se ganaron mi confianza para futuras cooperaciones.** Un equipo extremadamente dedicado y apasionado, pero también bien formado y fiable. Con sede en el Tirol, trabajando internacionalmente.

Leer más →

Manuel Licha

Traducido · toca para original

Las personas involucradas fueron impresionantes. " data-quote-original=" **The persons involved were impressive.** " data-original-lang=en>

Clutch

**Las personas involucradas fueron impresionantes.**

Resumen con IA · Clutch

Wavect GmbH entregó resultados precisos y siempre fue fiable, dentro del presupuesto y a tiempo. El equipo fue eficiente en sus implementaciones de Web3, y los stakeholders internos quedaron impresionados con las personas involucradas.

Leer más →

Steve Johnson, JONZN SPACE kollektiv

Traducido · toca para original

Valoración independiente: 5.0/5 en Google [Leer las reseñas](https://www.google.com/search?q=wavect+gmbh)

[![Clutch Top Software Developers in Austria 2026 award for Wavect](/img/awards/clutch-top-software-developers-austria-2026_hu_1bc9fdf2116cca69.webp) Verificado en Clutch · 2026 Top Software Developers in Austria Ver nuestro perfil en Clutch](https://clutch.co/profile/wavect-gmbh)

## Preguntas Frecuentes

Nativo vs. cross-platform, App Store, post-lanzamiento

### ¿Cómo funciona la cancelación semanal exactamente?

Termina cualquier semana con un solo mensaje. Sin preaviso, sin entrevista de salida, sin letra pequeña. Facturamos semanalmente, así que el máximo al que estás comprometido es la semana actual.

### ¿Y si el trabajo no me deja boquiabierto?

Está en tu contrato: dínoslo y reembolsamos esa semana. Sin preguntas, sin facturas que disputar, sin llamadas para escalar. Única regla: el reembolso aplica a la semana más reciente.

### ¿Por qué no registráis las horas?

Porque las horas son la métrica equivocada. Si optimizamos por horas facturadas, no optimizamos por tu resultado. El trato es más simple: cada semana nos ganamos la siguiente. Si no, no pagas. Podemos meterle cero horas o sesenta. Lo que importa es si te dejamos boquiabierto.

### ¿Qué significa 'expectativas desconectadas de la realidad'?

Trabajamos con operadores, no con ganadores de lotería. Si una solicitud requeriría romper la física, la ley o sistemas de terceros, lo decimos, y si no podemos alinearnos, nos vamos. La garantía es mutua: puedes despedirnos cualquier semana; nosotros también podemos despedirnos.

### Nativo o cross-platform, ¿cuál recomiendan?

Por defecto React Native o Flutter cuando importa la paridad de features con web, el time-to-market es crítico o el presupuesto no aguanta dos codebases. Nativo (Swift, Kotlin) cuando la app es muy gráfica, depende de sensores de hardware o requiere fidelidad UI absoluta. Te mostraremos los trade-offs en una estimación real, no te empujamos hacia lo que es más fácil para nosotros.

### ¿Gestionan la publicación en App Store y Google Play?

End-to-end: metadatos de tienda, screenshots, previews en vídeo, clasificación por edades, declaraciones de privacidad, App Tracking Transparency, App Privacy Labels y el ciclo de review-rejection. Hemos lanzado por ambas tiendas suficientes veces como para conocer los motivos de rechazo antes de que ocurran.

### ¿Pueden mantener una app después del lanzamiento?

Sí, y lo recomendamos con fuerza. Las apps móviles necesitan mantenimiento por versión de SO (cada release de iOS/Android rompe algo), parches de seguridad de librerías y adaptaciones de políticas de tienda. Ofrecemos [retainers](/es/glossary/retainer/) post-lanzamiento desde on-call para hotfixes hasta desarrollo activo de features. Nunca te forzamos a uno. Eliges el nivel.

### Push notifications, analytics, crash reporting: ¿incluidos?

Sí, por defecto. Firebase Cloud Messaging o OneSignal para push, Mixpanel/Amplitude/PostHog para analytics, Sentry o Bugsnag para crashes, y un camino de analytics respetuoso con la privacidad (preferimos Umami/Plausible en el equivalente web). Configurado antes del lanzamiento, no después del primer incidente.

### ¿Cuánto cuesta lanzar una app móvil a ambas tiendas?

[MVP](/es/glossary/mvp/) cross-platform (React Native o Flutter) con login, flow core y una feature de pago: 25.000-50.000 €. App de producción con backend, push, in-app purchases y analytics: 50.000-120.000 €. Dos codebases native puras (Swift + Kotlin) en paralelo: 1,7-2,2× el número cross-platform. Las cuentas de developer de Apple y Google cuestan 99 €/año cada una y no están incluidas. Cotizamos el ciclo de App Store y Play Store rejections en el presupuesto, para que un «ya terminamos» no vaya seguido de tres semanas de re-submissions.

### ¿Cuándo deberíamos construir una PWA en lugar de una app móvil nativa?

Cuando no necesitas acceso a sensores más allá de lo que expone el navegador, tu audiencia usa tanto iOS como Android, los ingresos de App Store no son centrales para el modelo, y quieres una codebase que envía en horas no días. Las PWAs gestionan offline, push (en Android), instalación en home-screen y la mayoría de APIs web modernas. Frenamos el «necesitamos una app móvil» cuando una PWA llegaría 6 semanas antes y convertiría a los mismos usuarios. Construimos nativa cuando las integraciones del SO (HealthKit, ARKit, secure enclave, background workers, acceso profundo al sistema) son determinantes.

// Más en

## Más en Desarrollo de Software

### [Desarrollo de Software a Medida](/es/services/software-development/)

Entrega de extremo a extremo en web, móvil, IA y blockchain. Ingenieros senior, SoW firmado, resultados semanales.

### [Desarrollo de MVP](/es/services/mvp-development/)

Discovery por 3.500 €, luego un MVP a precio fijo con Werkvertrag y software funcionando demostrado cada semana.

### [Aplicaciones Web](/es/services/web-apps/)

Apps web de nivel producción en Next.js, React y NestJS. De cero a escala.

### [Aseguramiento de Calidad de Software](/es/services/software-quality-assurance/)

Ojos de fuera que cazan lo que tu equipo no puede. 750 €/semana, encuentra entre un 40 y un 70% más de problemas en los primeros 30 días.

### [Traspaso de Software](/es/services/software-takeover/)

Hazte con software creado por otra agencia, un freelance o un equipo interno. Primero una evaluación de pago, luego estabilizar y seguir construyendo.

// Conócenos

## Conócenos

Relaciones a largo plazo antes que victorias rápidas.

[![Blogs](/img/services/gtku_blogs_hu_d7e3f659443e93f9.webp) Lee nuestro Blog](/es/blog/overview/) [![Podcast No BS Around Tech](/img/services/gtku_podcast_hu_aac94ba51d8a6f9f.webp) Podcast No BS Around Tech](/es/#trust-podcast) [![Galería de Imágenes](/img/services/gtknu_gallery_hu_451025d2d15b7558.webp) Échale un vistazo](/es/#image-gallery)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/es/services/mobile-apps/#service",
      "@type": "Service",
      "areaServed": [
        {
          "@type": "Country",
          "name": "Austria"
        },
        {
          "@type": "Place",
          "name": "Worldwide"
        }
      ],
      "category": "Desarrollo de Software",
      "description": "Construimos apps móviles para iOS y Android usando React Native, Flutter, Ionic y tecnologías nativas. Tiempo de lanzamiento rápido sin sacrificar la calidad.",
      "name": "Desarrollo de Apps Móviles",
      "provider": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "serviceType": "Mobile App Development",
      "url": "https://wavect.io/es/services/mobile-apps/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/",
          "name": "Inicio",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/services/overview/",
          "name": "Servicios",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/services/overview/#software",
          "name": "Desarrollo de Software",
          "position": 3
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/es/services/mobile-apps/",
          "name": "Apps Móviles",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://wavect.io/es/services/mobile-apps/#webpage",
      "@type": "WebPage",
      "description": "Construimos apps móviles para iOS y Android usando React Native, Flutter, Ionic y tecnologías nativas. Tiempo de lanzamiento rápido sin sacrificar la calidad.",
      "inLanguage": "es",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "mainEntity": {
        "@id": "https://wavect.io/es/services/mobile-apps/#service"
      },
      "name": "Desarrollo de Apps Móviles",
      "url": "https://wavect.io/es/services/mobile-apps/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Termina cualquier semana con un solo mensaje. Sin preaviso, sin entrevista de salida, sin letra pequeña. Facturamos semanalmente, así que el máximo al que estás comprometido es la semana actual."
      },
      "name": "¿Cómo funciona la cancelación semanal exactamente?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Está en tu contrato: dínoslo y reembolsamos esa semana. Sin preguntas, sin facturas que disputar, sin llamadas para escalar. Única regla: el reembolso aplica a la semana más reciente."
      },
      "name": "¿Y si el trabajo no me deja boquiabierto?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Porque las horas son la métrica equivocada. Si optimizamos por horas facturadas, no optimizamos por tu resultado. El trato es más simple: cada semana nos ganamos la siguiente. Si no, no pagas. Podemos meterle cero horas o sesenta. Lo que importa es si te dejamos boquiabierto."
      },
      "name": "¿Por qué no registráis las horas?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Trabajamos con operadores, no con ganadores de lotería. Si una solicitud requeriría romper la física, la ley o sistemas de terceros, lo decimos, y si no podemos alinearnos, nos vamos. La garantía es mutua: puedes despedirnos cualquier semana; nosotros también podemos despedirnos."
      },
      "name": "¿Qué significa 'expectativas desconectadas de la realidad'?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Por defecto React Native o Flutter cuando importa la paridad de features con web, el time-to-market es crítico o el presupuesto no aguanta dos codebases. Nativo (Swift, Kotlin) cuando la app es muy gráfica, depende de sensores de hardware o requiere fidelidad UI absoluta. Te mostraremos los trade-offs en una estimación real, no te empujamos hacia lo que es más fácil para nosotros."
      },
      "name": "Nativo o cross-platform, ¿cuál recomiendan?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "End-to-end: metadatos de tienda, screenshots, previews en vídeo, clasificación por edades, declaraciones de privacidad, App Tracking Transparency, App Privacy Labels y el ciclo de review-rejection. Hemos lanzado por ambas tiendas suficientes veces como para conocer los motivos de rechazo antes de que ocurran."
      },
      "name": "¿Gestionan la publicación en App Store y Google Play?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sí, y lo recomendamos con fuerza. Las apps móviles necesitan mantenimiento por versión de SO (cada release de iOS/Android rompe algo), parches de seguridad de librerías y adaptaciones de políticas de tienda. Ofrecemos retainers post-lanzamiento desde on-call para hotfixes hasta desarrollo activo de features. Nunca te forzamos a uno. Eliges el nivel."
      },
      "name": "¿Pueden mantener una app después del lanzamiento?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Sí, por defecto. Firebase Cloud Messaging o OneSignal para push, Mixpanel/Amplitude/PostHog para analytics, Sentry o Bugsnag para crashes, y un camino de analytics respetuoso con la privacidad (preferimos Umami/Plausible en el equivalente web). Configurado antes del lanzamiento, no después del primer incidente."
      },
      "name": "Push notifications, analytics, crash reporting: ¿incluidos?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "MVP cross-platform (React Native o Flutter) con login, flow core y una feature de pago: 25.000-50.000 €. App de producción con backend, push, in-app purchases y analytics: 50.000-120.000 €. Dos codebases native puras (Swift + Kotlin) en paralelo: 1,7-2,2× el número cross-platform. Las cuentas de developer de Apple y Google cuestan 99 €/año cada una y no están incluidas. Cotizamos el ciclo de App Store y Play Store rejections en el presupuesto, para que un «ya terminamos» no vaya seguido de tres semanas de re-submissions."
      },
      "name": "¿Cuánto cuesta lanzar una app móvil a ambas tiendas?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Cuando no necesitas acceso a sensores más allá de lo que expone el navegador, tu audiencia usa tanto iOS como Android, los ingresos de App Store no son centrales para el modelo, y quieres una codebase que envía en horas no días. Las PWAs gestionan offline, push (en Android), instalación en home-screen y la mayoría de APIs web modernas. Frenamos el «necesitamos una app móvil» cuando una PWA llegaría 6 semanas antes y convertiría a los mismos usuarios. Construimos nativa cuando las integraciones del SO (HealthKit, ARKit, secure enclave, background workers, acceso profundo al sistema) son determinantes."
      },
      "name": "¿Cuándo deberíamos construir una PWA en lugar de una app móvil nativa?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
