Una pantalla, sin estado
Añade un onboarding, una pantalla de ajustes y una vista de historial o de elementos guardados. Tres pantallas con navegación real ya parecen una app.
ChatGPT & Codex
Canvas es donde empiezan muchas apps: un único archivo HTML o un componente React que ChatGPT muestra en un panel de vista previa. La vista previa no es una URL que puedas publicar, y una sola pantalla rara vez basta para App Review. Este es el camino del canvas a la tienda, con una prueba honesta para saber si la app está lista.
Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.
Una app de Canvas suele ser un solo archivo: HTML con CSS y JavaScript en línea, o un único componente React que lo contiene todo. El estado vive en memoria o en localStorage, no hay enrutamiento ni backend, y si llama a una API, la clave está en el cliente. La vista previa se ejecuta en un marco aislado en un dominio de OpenAI, y por eso la comprobación de preparación la marca: no es un host de producción, no es tu dominio y puede desaparecer cuando desaparezca la conversación.
Nada de esto es un problema. Es un prototipo, y los prototipos se convierten en apps cuando tienen un hogar, una estructura y una razón para existir como app y no como página web.
Alrededor de una hora de trabajo para una app de un solo archivo.
Copia el archivo completo del canvas (o usa la opción de descarga) y ponlo en una carpeta nueva. Si ChatGPT lo repartió en varios archivos a lo largo de la conversación, reúnelos todos; si no estás seguro, pídele que "imprima la versión completa y definitiva de cada archivo".
Crea un repositorio de GitHub con el archivo como index.html (o un pequeño proyecto Vite si es React). A partir de aquí, Codex o Cursor pueden trabajar en él como en cualquier otro código.
GitHub Pages, Netlify, Vercel o Cloudflare Pages sirven gratis una app estática con HTTPS. Añade tu propio dominio si tienes uno; la guía de dominios explica por qué merece la pena hacerlo antes del envío.
Una pantalla de ajustes, una pantalla de información, /privacy y /terms. Hasta una app pequeña necesita una URL de política de privacidad en ambas consolas, y la pantalla de ajustes es donde más adelante vivirán los enlaces de push, de la cuenta y de soporte.
localStorage basta para una app de notas o de temporizador sin cuentas. En cuanto los usuarios se registran, necesitas un backend (Supabase o Firebase son las opciones habituales) y una forma de eliminar la cuenta.
Pon la URL en Config.swift y Config.java (o en el Cloud Builder), define el nombre, el icono y la pantalla splash, activa la pantalla sin conexión, compila y envía. Cada despliegue en la URL actualiza la app al instante.
Añade un onboarding, una pantalla de ajustes y una vista de historial o de elementos guardados. Tres pantallas con navegación real ya parecen una app.
Recordatorios, rachas, propuestas diarias, actualizaciones de pedidos: elige uno. WebViewGold programa una notificación local desde tu página con sendlocalpushmsg://push.send?s=SECONDS=msg!MESSAGE&!#TITLE&!#URL, sin necesidad de un servicio push.
Una app estática puede funcionar totalmente sin conexión: guarda los datos en localStorage y deja que WebViewGold muestre su pantalla sin conexión solo cuando la propia página no pueda cargarse.
Un botón de compartir mediante shareapp://message?=TEXT&url=URL, una respuesta háptica al terminar o el escáner QR (qrcode://) se añaden con una línea, y los revisores los ven.
| Prototipo de Canvas | App lista para la tienda | |
|---|---|---|
| Alojamiento | Marco de vista previa en un dominio de OpenAI | Tu URL HTTPS, idealmente en tu dominio |
| Estructura | Un archivo, una pantalla | Rutas: inicio, ajustes, información, privacidad, términos |
| Datos | En memoria | localStorage, o un backend con eliminación de cuenta si hay cuentas |
| Diseño móvil | Se ve bien en la vista previa | Verificado a 320 px, márgenes de área segura, áreas de toque de 44 px |
| Valor nativo | Ninguno | Al menos uno: notificaciones, modo sin conexión, compartir, escáner, Face ID |
| Ficha | No aplica | Capturas de la app, descripción honesta, URL de privacidad, notas para la revisión |
Convierte el archivo único en un pequeño producto sin cambiar su aspecto.
Este repositorio contiene una app de un solo archivo exportada de ChatGPT Canvas. Conviértela en una pequeña app web de producción que también se ejecutará dentro de un envoltorio nativo de iOS/Android (WebViewGold): 1) mantén el aspecto actual, pero añade enrutamiento en el cliente para /, /settings, /about, /privacy y /terms; 2) guarda los datos del usuario en localStorage detrás de una pequeña interfaz de almacenamiento para poder cambiar a un backend más adelante; 3) añade una pantalla de onboarding con tres puntos que se muestre una sola vez; 4) aplica las reglas móviles: meta viewport con viewport-fit=cover, sin desbordamiento a 320px, áreas de toque de 44px, márgenes de área segura en las barras fijas, campos de entrada de al menos 16px; 5) añade estados vacíos y de error; 6) crea isNativeApp(), que comprueba si navigator.userAgent contiene el marcador MYAPPNATIVE; 7) en los ajustes, añade un interruptor de Notificaciones que navegue a registerpush:// cuando isNativeApp() sea true, y un botón Compartir que navegue a shareapp://message?=TEXT&url=URL en la app nativa y use la Web Share API en los demás casos. Termina con una lista de lo que todavía le faltaría a la app para sentirse completa.
Las apps pequeñas pasan cuando la ficha es honesta y las notas son claras: qué hace la app, que funciona sin conexión, qué notificaciones envía y que usa un envoltorio nativo con esas funciones sobre tu app web. No vendas de más una utilidad sencilla; "un sencillo registro de hábitos con recordatorios diarios" es una app perfectamente válida para el App Store. Capturas de la app compilada, una URL de privacidad que se abre y una pantalla de ajustes con un email de soporte completan el conjunto.
Funciona, pero un pequeño proyecto Vite compila más rápido, carga más rápido en el móvil y es más fácil de ampliar para Codex. Pídele a Codex que lo migre; el código de los componentes sigue siendo el mismo.
No. Es una vista previa aislada, no un sitio alojado, y la comprobación de preparación la marcará. Aloja antes el código en tu propia URL.
Solo si los usuarios crean cuentas o comparten datos entre dispositivos. Una app de notas, de temporizador o una calculadora puede funcionar completamente en el dispositivo con localStorage y aun así superar la revisión, siempre que tenga estructura y una función nativa.
No. Apple rechaza las apps sin funcionalidad más allá de un sitio web o casi sin contenido. Una app enfocada que hace bien una cosa, funciona sin conexión y envía recordatorios no tiene ningún problema.
El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.
$109 por plataforma, pago único
La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.
Ver planes en la página principal$349 por licencia, complemento de pago único
Sin Mac, sin Xcode, sin Android Studio: configura en el navegador, compilamos ambas apps en la nube y las entregamos a App Store Connect y a Play Console.
Cómo funciona el Cloud Builder Prueba la demo gratuita$698 por plataforma $798
Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.
Detalles del Full Service Con tecnología dePrecios de la Oferta de invierno válidos hasta el 31 de diciembre de 2026.
Garantía de aprobación en App Store & Google Play – o te devolvemos el dinero en 14 días
¿Prefieres delegarlo? Full Service: configuramos, compilamos y entregamos en 72 horas, desde $698 por plataforma. ¿Preguntas? Chatea con nosotros 24/7.
Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.