mozilla
Los resultados de tu búsqueda

    Quickstart

    Este artículo muestra una rápida introducción para las open web apps instalables — instalable en Firefox OS y otras plataformas — incluyendo cómo son creadas y cómo difieren de los sitios web/aplicaciones estándar. Este artículo está escrito para tomar sentido a ambos desarrolladores, desarrolladores web y desarrolladores para moviles en modo nativo.

    A message saying I love the web, along with devices of different screen sizes to represent the modern web's responsive nature.

    Las aplicaciones web abiertas son esencialmente diferentes a los sitios web estándar o aplicaciones web. Estas son construidas utilizando tecnologías estándar the open web — HTML, CSS, JavaScript, etc. — y pueden ser accesadas utilizando navegadores web. Las principales diferencias radican en su habilidad de ser instaladas en dispositivos y trabajar sin conexión, acceso a APIs avanzadas que permiten la interacción con las funciones del dispositivo, como la cámara, giroscopio y libreta de direcciones, y la existencia de un sólido ecosistema de desarrolladoresincluyendo un mercado para la distribución de aplicaciones gratuitas y de pago. En general, se ofrecen a los usuarios una "experiencia de aplicaciones", sin dejar de ser basada en tecnologías de cross platform (compatibles con los navegadores web) abiertas.

    Las aplicaciones web abiertas tienen una baja barrera de entrada, especialmente para los desarrolladores web y desarrolladores móviles existentes; también son más compatibles en los diferentes dispostivos que los equivalentes nativos.

    Nota: Las aplicaciones web abiertas de Mozilla son instalables en Firefox OS, y otras plataformas que soporta Firefox, a través de la tecnología de Mozilla, web run time. Para más detalles, ve a Open web apps for Android, y Open web apps for Desktop.) En el futuro, las tecnologías deberán ser estandarizadas y adoptadas a través de una amplia gama de plataformas.

    Firefox OS

    Firefox OS (también conocido por su nombre-código, Boot to Gecko — o B2G) es el sistema operativo libre de Mozilla. Está basado en el kernel de Linux, el cuál opera en base a  Gecko,  que permite a los usuarios instalar y ejecutar open web apps, Gecko es el motor que usa el navigador Firefox para hacer y mostrar el contenido web.

    Firefox OS viene con una suite de aplicaciones preinstaladas llamadas Gaia, que manejar las funciones fundamentales del teléfono como la configuración, llamadas, SMS, tomar y alamacenar fotografías, etc.

    Soporte para versiones de Firefox OS

    Hay que tener en cuenta que en el desarrollo de aplicaciones para Firefox OS, debe conocer las versiones qué estarán disponibles en los dispositivos de sus clientes  (vea nuestra tabla de los teléfonos disponibles). Recuerde que no es tan fácil de actualizar el software del teléfono, ya que es un software de escritorio - los usuarios tienden a estar a merced de los proveedores de la red. Por lo tanto, usted necesita para desarrollar aplicaciones apoyarse de estas versiones. Este problema debería desaparecer tan pronto, como los nuevos consumidores de Firefox OS aparezcan, equipado con las nuevas versiones de Firefox OS fuera de la caja.

    La plataforma de la línea de base actual que recomienda el desarrollo de es Firefox 1.1.

    Las paginas de referencia sobre plataforma web MDS incluyen información de soporte para navegadores/plataformas, además pudes encontrar información de soporte mas especifica en nuestra Referencia Apps API.

    A modo de ejemplo, multi-líneas Flexbox no funciona en las versiones de Firefox OS inferiores a la 1.3, por lo que es posible que necesite usar un método de diseño más simple o proporcionar un metodo para las versiones más antiguas.

    Habilidades necesarias

    Como ya hemos mecionado las aplicaciones web abiertas son basadas en tecnología web — HTML, CSS, and JavaScript — de tal manera si usted ha desarrollado paginas web ya conoce lo básico. Aún si usted no tiene conocimientos básicos puede facilmente seguir esta guía, pero usted puede querer revisar nuestro tutorial de principiantes para aprender mas sobre el desarrollo con tecnología web abierta

    Herramientas requeridas

    Usted puede construir aplicaciones web abiertas con simples herramientas gratuitas, o hacer uso de sus herramientas de diseño web. Les sugerimos las siguientes:

    Una vez que incie usted va a querer correr sus aplicaciones en un teléfono con Firefox OS; usted puede obtener un previo de los dispositivos o installar su propio sistema sobre un dispositivo existente como los modelos de Google Nexus.

    Nota: Por respeto al desarrollador de la aplicación y porque el lenguaje de programación es en Ingles, no voy a traducir el nombre de las variables ni nada referente a la aplicación, solamente los comentarios ya que estos no causan efecto en la aplicación, son solo fin ilustrativo, recomiendo usar diccionario o traductor si no comprenden algún significado.

    Tú primer app

    Esta sección tiene como objetivo conseguir rápidamente la puesta en marcha  de una aplicación web instalable, mostrando lo rápido y fácil que es aprender los conceptos básicos. Si desea seguir junto con esta guía, usted puede encontrar nuestra plantilla de inicio rápido repo en Github (descarga directamente como un zip).

    Plantilla para aplicaciones de inicio rápido

    Nuestra aplicación hace algo muy simple — utiliza el API estado de la bateria que busca el nivel de carga de la bateria de nuestro dispositivo y comprueba si la bateria está cargando o no, además alerta al usuario el estado de esta por medio de la vibración (API de vibración) y la notificación del sistema (API notificación).

    Para empezar, el directorio de plantilla de inicio contiene la siguiente estructura:

    • battery-quickstart-starter-template/
      • index.html
      • images/
        • battery.svg
        • icon-128.png
        • icon-512.png
      • scripts/
        • battery.js
        • install.js
      • style/
        • style.css
      • .htaccess
      • README.md
    • index.html : El documentos principal de nuestra aplicación que contiene los datos principales y todos los demás lo alimentan.
    • images : Contiene un icono que se utiliza en la interfaz del usuario en nuestra aplicación, además los iconos que se muestran en el Firefox Marketplace (si fué subido ahí) y en la pantalla de inicio del dispositivo al ser instalada (y otros lugares potencialmente). para mas información sobre los iconos de aplicaciones pueden ver nuestra guía de implementación de iconos para aplicaciones.
    • scripts : Contiene el código Javascript que define el funcionamiento de la aplicación; actualmente hay dos archivos en blanco — battery.js y install.js.
    • style : Contiene la hoja de estilo, style.css, que proporciona de estilo básico a la aplicación.
    • .htaccess: Un archivo de configuración del servidor que informa a los servidores web de tipo mime sobre el archivo de manifiesto que añadimos en la siguiente sección. Esto garantiza que los servidores no arrojan un error si no reconocen el tipo de archivo de manifiesto (que algunos podrían).
    • README.md: Archivo leeme de base Markdown usado en Github para explicar sobre lo que trata nuestra.

    Agregando un manifiesto

    Cada aplicación web abierta requiere un archivo manifest.webapp para ser colocado en la carpeta raíz de la aplicación: Esto proporciona información importante acerca de la aplicación, como la versión, nombre, descripción, icono de ubicación, las cadenas de configuración regional, los dominios de la aplicación se puede instalar desde, y mucho más.

    Agregue lo siguiente en un nuevo archivo de texto sin formato en la raíz de su aplicación. Nombre el archivo manifest.webapp.

    {
      "name": "Battery",
      "description": "Battery ofrece una buena plantilla para un indicador de batería / carga in-app con diferentes opciones de visualización, además de las ideas de lo que podría ser cambiado una vez que el nivel de la batería esté bajo.",
      "launch_path": "/index.html",
      "icons": {
        "128": "/images/icon-128.png",
        "512": "/images/icon-512.png"
      },
      "developer": {
        "name": "Chris Mills",
        "url": "http://www.conquestofsteel.co.uk"
      },
      "permissions": {
        "desktop-notification": {
          "description": "Necesario para la creación de las notificaciones del sistema."
        }
      }
    }

    Nota: Para obtener mas información sobre lo que esta sucediendo aquí exactamente, consulte nuestra referencia App Manifests.

    Nota: la ruta de los archivos manifiesto debe ser realativa a la ubicación en el servidor. Por ejemplo, si la raíz de mi ejemplo esta en http://www.mysite.com/myapp/, y mi icono esta en http://www.mysite.com/myapp/myicon/icon.png, la ruta del icono debería ser /myapp/myicon/icon.png, no /myicon/icon.png.

    Permisos API

    Hay una serie de WebAPIs disponibles que requieren permisos para que esa función específica esté habilitada. Aplicaciones instaladas tienen que registrar las solicitudes de permiso dentro del archivo manifest.webapp como se ve en el campo "permisos" de arriba, que solicita permiso para usar las notificaciones del sistema controlados por la API de notificación.

    Distintas APIs requieren diferentes niveles de permiso para acceder a ellos. Los tres niveles de permiso son las siguientes:

    1. Normal — APIs que no necesitan ningún tipo de permisos de acceso especiales.
    2. Privileged — APIs disponibles para los desarrolladores a ser usadas en sus aplicaciones, siempre y cuando se pusieron los permisos de acceso de la aplicación en los archivos de manifiesto, y distribuidos a través de una fuente de confianza.
    3. Certified — APIs que controlar funciones críticas en un dispositivo, como el marcador de llamadas y servicios de mensajería. Estos por lo general no está disponible para los desarrolladores de terceros.

    Note: Para mas información sobre que permisos requieren las APIs, leer App permissions.

    Funcionalidad web API

    API de JavaScript se están creando y mejorando tan rápido como los dispositivos van saliendo. El esfuerzo WebAPI de Mozilla trae docenas de características móviles estándar a las API de JavaScript.

    Soporte de detección de funciones

    Una de las técnicas empleadas comúnmente en el desarrollo web es la detección de características JavaScriptque implica la ejecución de código para asegurarse de que una función es compatible con el navegador antes de que realmente intente utilizar esa característica. Si no es así, puede proporcionar algún tipo de experiencia de reserva. El siguiente fragmento de código proporciona un ejemplo rápido (esto no tiene que ser añadido en su código de ejemplo):

    // Vamos a comprobar si el navegador soporta notificaciones
    if (!("Notification" in window)) {
      console.log("Este navegador no soporta notificaciones.");
    }

    Nuestro código para el ejemplo de la funcionalidad de inicio rápido

    Dentro del archivo scripts/battery.js, añadimos los siguientes bloques de código, uno tras otro, leyendo los comentarios de código cuidadosamente a medida que avanza. En primer lugar, vamos a configurar todas las variables que necesitamos:

    // Divide el objeto navigator.battery dependiendo del prefijo usado en el navegador de visualización
    var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery;
    // captura los elementos que necesitamos, y los almacena en las variables
    var indicator1 = document.getElementById('indicator1');
    var indicator2 = document.getElementById('indicator2');
    var batteryCharge = document.getElementById('battery-charge');
    var batteryTop = document.getElementById('battery-top');
    var chargeIcon = document.getElementById('battery-charging');
    
    // Bandera para comprobar si la batería cargada / no cargado ha sido notificada una vez.
    //En programación, bandera (flag) se refiere a uno o más bits que son usados para almacenar un valor binario o código que tiene un significado asignado.
    // 0 para el primer momento de la notificación,
    // 1 significa "cargada" ya ha sido notificado,
    // 2 significa "no cargado" ya ha sido notificado
    // Esto se establece en el frente después de cada notificación, por lo que deja de recibir
    // notificaciones repetidas sobre el mismo estado de carga.
    var chargingState = 0;
    

    A continuación, vamos a añadir la función principal updateBatteryStatus(), que es responsable de actualizar la información que aparece sobre el estado de la batería cada vez que se dispara un evento relacionado con la batería:

    function updateBatteryStatus() {
      // battery.level se puede utilizar para darnos un porcentaje de carga de la bateria
      // e informar a la aplicación del usuario
      var percentage = Math.round(battery.level * 100);
      indicator1.innerHTML = "Carga de la batería en " + percentage + "%";
      batteryCharge.style.width = percentage + '%';
    
      if(percentage >= 99) {
        // informa que la batería está completamente cargada, más o menos ;-)
        batteryTop.style.backgroundColor = 'limegreen';
        batteryCharge.style.backgroundColor = 'limegreen';
        createNotification("Batería del dispositivo está completamente cargada.");
      }
    
      if(battery.charging) {
      // Si la bateria está cargando
        if(chargingState == 1 || chargingState == 0) {
        // y si nuestra bandera chargingState es igual a 0 o 1
          // altera el estilo para mostrar la carga de la batería
          batteryTop.style.backgroundColor = 'gold';
          batteryCharge.style.backgroundColor = 'gold';
          indicator2.innerHTML = "Batería está cargando";
          chargeIcon.style.visibility = 'visible';
          // notifica al usuario con una notificación personalizada
          createNotification("Batería del dispositivo está cargando.");
    
          // cambia la bandera chargingState a 2
          chargingState = 2;
        }
      } else if(!battery.charging) {
      // Si la batería NO está cargando 
        if(chargingState == 2 || chargingState == 0) {
        // y si nuestra bandera chargingState es igual a 0 o 2
          // cambia el estilo para mostrar si la batería NO está cargando
          batteryTop.style.backgroundColor = 'yellow';
          batteryCharge.style.backgroundColor = 'yellow';
          indicator2.innerHTML = "Batería no está cargando";
          chargeIcon.style.visibility = 'hidden';
          // muestra al usuario con una notificación personalizada
          createNotification("Batería del dispositivo no se está cargando.");
    
          // cambia la bandera chargingState a 1
          chargingState = 1;
        }
      }
    }
    

    Ahora es el momento de añadir en la función createNotification() que vimos anteriormente. Cuando esta es llamada, una notificación del sistema se dispara con el mensaje que se pasa como argumento. Este código parece tediosamente largo, pero aquí estamos detectando tanto el soporte para las notificaciones, y manejo de apoyo a prueba de balas para Firefox y navegadores a base de Chromium/Blink.

    function createNotification(message) {
      // Vamos a comprobar si el navegador soporta notificaciones
      if (!("Notification" in window)) {
        console.log("Este navegador no soporta notificaciones.");
      }
      // Vamos a comprobar si el usuario está listo para recibir alguna notificación
      else if (Notification.permission === "granted") {
        // Si está bien vamos a crear una notificación
    
        // Muestra la notificación
        var notification = new Notification('Battery status', { body: message });
        // Y el dispositivo vibra si es compatible con la API de vibración
        window.navigator.vibrate(500);
      }
      // De lo contrario, tenemos que pedir permiso al usuario
      // Tenga en cuenta, Chrome no implementa la propiedad estática permiso
      // Así que tenemos que comprobar si NO 'denied' en vez de 'default'
      else if (Notification.permission !== 'denied') {
        Notification.requestPermission(function (permission) {
          // Cualquiera que sea la respuesta del usuario, estamos seguros que Chrome almacenará la información
          if(!('permission' in Notification)) {
            Notification.permission = permission;
          }
          // Si el usuario está listo, vamos a crear una notificación
          if (permission === "granted") {
    
            // Muestra la notificación
            var notification = new Notification('Battery status', { body: message });
            // Y el dispositivo vibra si es compatible con la API de vibración
            window.navigator.vibrate(500);
          }
        });
      }
    }
    

    Por último, vamos a añadir controladores de eventos para el objeto battery que nos permite responder a los cambios del nivel de estados de carga y de carga de la batería (mediante la ejecución de la función updateBatteryStatus()), y luego corremos updateBatteryStatus() una vez para comenzar el espectáculo:

    // Controlador de eventos para comprobar si la batería ha comenzado a cargar o dejado de cargar
    battery.addEventListener("chargingchange", updateBatteryStatus, false);
    // Controlador de eventos para comprobar si el nivel de carga de la batería ha cambiado
    battery.addEventListener("levelchange", updateBatteryStatus, false);
    
    // ejecutar la función central de una vez cuando la aplicación está iniciada por primera vez
    updateBatteryStatus();

    Los comentarios deben explicar lo que el código hace lo suficientemente bien, pero el mensaje principal tiene que ser fácil de usar datos y la funcionalidad de hardware a través de este tipo de APIs, con eventos simples y objetos como chargingchange, battery, y Notification().

    El JavaScript está mirando para cuando cambia el nivel de carga de la batería, o cuando la batería se detiene o comienza a cargarse (los detectores de eventos chargingchange y levelchange.) Cuando uno de estos eventos ocurre, la función updateBatteryStatus() se ejecuta, la que decide cual notificación a contar el usuario, se actualiza la pantalla de visualización para adaptarse, y corre createNotification().

    Esta última función en realidad dispara la notificación del sistema y hace que el teléfono vibre para dar al usuario una cierta respuesta de todo el sistema adicional de como se encuentra el estado de la batería.

    Note: Compruebe WebAPI page con frecuencia para mantenerse al día con los estados de la API de dispositivo.

    Funcionabilidad de instalacion de la API

    En nuestra plantilla de aplicación de ejemplo, hemos implementado un botón de instalación que puede hacer clic cuando se ve la aplicación como una página Web estándar, para instalar este sitio en Firefox OS como una aplicación. El marcado de botón no es algo especial:

    <button id="install">Install app on device</button>

    La funcionalidad de este botón se puede implementar utilizando el API Instalar. Añadimos lo siguiente dentro de nuestro archivo ejemplo scripts/install.js:

    // obtiene una referencia del botón instalar
    var button = document.getElementById('install');
    
    // si el navegador tiene soporte para aplicaciones instalables, ejecuta el código de instalación; si no, oculta el botón de instalación
    if('mozApps' in navigator) {
    
        // define el URL manifiesto
        var manifest_url = location.href + 'manifest.webapp';
    
        function install(ev) {
          ev.preventDefault();
          // instala la aplicación
          var installLocFind = navigator.mozApps.install(manifest_url);
          installLocFind.onsuccess = function(data) {
            // La aplicación está instalada, haga algo si desea
          };
          installLocFind.onerror = function() {
            // App no se ha instalado, la información se encuentra en
            // installapp.error.name
            alert(installLocFind.error.name);
          };
        };
    
        // si la aplicación ya está instalada, oculta el botón. Si no es así, añade el detector de eventos para llama a install () al hacer clic
        var installCheck = navigator.mozApps.checkInstalled(manifest_url);
        installCheck.onsuccess = function() {
    
          if(installCheck.result) {
            button.style.display = "none";
          } else {
            button.addEventListener('click', install, false);
          };
        };
    } else {
      button.style.display = "none";
    }

    Una vez más, los comentarios explican lo que está pasando bastante bien, pero brevemente, primero compruebe si el objeto mozApps existe en el navegador (if('mozApps' in navigator)) es decir, si el navegador soporta aplicaciones instalables o no. Si no, simplemente ocultar el botón instalar.

    A continuación,  navigator.mozApps.checkInstalled revisa si la aplicación definida por el manifiesto manifest_url ya está instalado en el dispositivo. Si la prueba devuelve un éxito, su evento de éxito se disparó y la installCheck.onsuccess = function() { ... } se ejecuta.

    A continuación, probamos la existencia de installCheck.result; si existe, lo que significa que la aplicación está instalada, y el botón instalar se esconde. Si la aplicación no está instalado, se añade un detector de eventos click al botón, por lo que la install() se ejecuta cuando se hace clic en el botón.

    Cuando se hace clic en el botón y la función install() se ejecuta, instalamos la aplicación utilizando navigator.mozApps.install(manifest_url), que almacena una referencia para esa instalación en la variable installLocFind. Se dará cuenta de que esta instalación también desencadena eventos de success y error, para que pueda ejecutar las acciones depende de si la instalación se ha pasado con éxito o no.

    Nota: Las aplicaciones web de código abierto instalables tienen una política de seguridad "aplicación única por origen"; básicamente, no puede albergar más de una aplicación instalable por origen. Esto hace el test un poco más complejo, pero todavía hay maneras de evitar esto, como crear diferentes subdominios de aplicaciones.

    Hacer que la aplicación trabaje sin conexión

    Por defecto, las aplicaciones web (incluyendo aplicaciones de servidor OS Firefox) no funcionan sin conexión: los recursos se almacenan en caché en la forma en web estándar, pero no pueden garantizarque  la aplicación estará disponible sin conexión. Hay varias tecnologías y técnicas que se pueden utilizar para hacer que las aplicaciones de trabajo en línea, y éstos se explican con más detalle nuestra Pagina de recomendaciones para desarrolladores sobre aplicaciones sin conexión. No vamos a discutir sobre sin conexión más lejos en este artículo, ya que queríamos mantener el ámbito de aplicación claramente dentro de la diferencia entre aplicación instalable web / aplicación cuenta con Firefox OS.

    Pruebe de su aplicación

    En este punto, su aplicación debería estar terminado, y usted puede empezar a probar en los navegadores. Si la aplicación no parece estar funcionando, usted puede encontrar el  código fuente final para comprobar, o ver el ejemplo funcionando en vivo. Por ejemplo, aparece que esta en un equipo de escritorio:

    An image of the quickstart app in a desktop browser. it shows a title saying Battery indicator, and icons to indicate that the battery is not charging.

    Las pruebas en Firefox de escritorio

    La forma más rápida para probar la funcionalidad básica de su aplicación es simplemente cargarlo en Firefox de escritorio (abrir el archivo index.html en el navegador)este es compatible con la mayoría de las características de las que estamos hablando aquí. Las notificaciones se parecen así sucesivamente OS X:

    A system notification from Mac OS X saying that the device battery is not charging.

    Y en Firefox Aurora / Nightly y Firefox para Android, se puede probar la funcionalidad de instalarestos navegadores incluyen el tiempo de ejecución de Firefox que permite a las aplicaciones web instalables para ser instalados en el escritorio.

    Nota: Tenga en mente que para probar la funcionalidad de instalación que tendrá que poner los archivos en una ubicación de su propio servidor que no tiene otras aplicaciones web instalable en el mismo origen (diferentes subdominios está bien.) Esto se debe a la "única aplicación por origen "política de seguridad que se mencionó anteriormente. Si intenta instalar la versión que tenemos en ejecución en Github, por ejemplo, obtendrá un error MULTIPLE_APPS_PER_ORIGIN_FORBIDDEN.

    Pruebas en el simulador de Firefox OS

    También puede probar la aplicación en un simulador de Firefox OS a través de nuestra herramienta App Manager (y pronto, en nuestra totalmente nueva herramienta WebIDE). Esto le dará una idea más realista de cómo se verá en un dispositivo real. En resumen, es necesario:

    1. Instalar el Firefox OS simulator
    2. Abrir el Administrador de aplicaciones (Herramientas > Desarrollador web > Administrador de aplicaciones)
    3. Haga clic en Inicio Simulador luego elija el simulador que ha instalado anteriormente
    4. Haga clic en Añadir aplicación empaquetada, vaya al directorio local de su aplicación
    5. Haga clic en el botón de actualización de la aplicación para instalarlo en el Firefox OS Simulador

    Las pruebas en un dispositivo Firefox OS

    La API de vibración no funcionará en estas opciones sin embargo. Para probar completamente este tendrá que hacerse con un verdadero dispositivo de Firefox OS. Si tienes uno, puedes conectarlo a tu ordenador e instalar aplicaciones contenidas en la unidad local directamente a ella a través del Administrador de aplicaciones. Aquí hay una captura de pantalla Firefox OS que muestra la aplicación en ejecución, junto con una notificación del sistema.

    A Firefox OS screenshot showing the app, with a notification to say that the battery is charging.

    Para instalar la aplicación en su dispositivo Firefox OS a través de la Administrador de aplicaciones:

    1. Instale el Firefox OS simulator and ADB helper
    2. Abrir el Administrador de aplicaciones (Herramientas > Desarrollador web > Administrador de aplicaciones)
    3. En el dispositivo Firefox OS, seleccione la opción ADB and Devtools en el entorno desarrollador depuración remota
    4. Conecte el teléfono a la computadora de escritorio a través de USB
    5. Haga clic en la opción que representa el dispositivo en la barra de "No conectado" en la parte inferior de la Administrador de aplicaciones. Por ejemplo, un Geeksphone Keon generalmente aparece como full_keon
    6. Haga clic en Agregar aplicación empaquetada continuación, vaya al directorio local de su aplicación
    7. Haga clic en el botón de actualización de la aplicación para instalarla en el dispositivo Firefox OS

    Presentación y Distribución de APIs

    Una vez que su aplicación está completa, puede alojar usted mismo como un sitio web estándar o aplicación (lea las  opciones de publicación de la aplicación para obtener más información), la auto-publicación de una aplicación empaquetada, lo presentará a la Firefox Marketplace. Lo que se hace aquí depende de sus circunstancias:

    1. Al publicar una aplicación de Firefox OS, generalmente es una buena idea que esté disponible como una aplicación empaquetada. Aplicaciones empaquetadas vienen con las ventajas de tener acceso a las API privilegiadas (ver permisos de la aplicación), y se instalan en el dispositivo para que estén disponibles sin conexión. Una aplicación empaquetada conseguiría efectivamente la funcionalidad AppCache discutido anteriormente de forma gratuita, y se puede quitar la funcionalidad instalar discutido anteriormente, así (ver  auto-publicación de aplicaciones empaquetadas para más información sobre lo que harías en su lugar.)
    2. Si usted quiere que su aplicación esté disponible como una aplicación web en general y no sólo una aplicación de Firefox OS, subirla a un servidor es el camino a seguir, como se comenta en este artículo.

    Al presentar al mercado, el manifiesto de su aplicación será validado y puede elegir qué dispositivos apoyará su aplicación (por ejemplo, Firefox OS, Escritorio Firefox, Firefox Mobile, Firefox Tablet). Una vez validado, puede agregar más detalles sobre su aplicación (imágenes, descripciones, precios, etc) y presentar oficialmente la aplicación para la inclusión en el mercado. Una vez aprobada, su aplicación está disponible en el mundo para la compra e instalación.

    Aprender más

    Eso es todo por ahora. Nuestra guía de inicio rápido es obviamente una simplificación excesiva de todas las cosas que participan en la fabricación de una gran aplicación, pero que deliberadamente he mantenido de esta manera destacar eficazmente todas las nuevas cosas que usted necesita saber. Para obtener más información sobre los diferentes aspectos del diseño de la aplicación y el desarrollo y Firefox OS, consulte los siguientes recursos.

    Firefox OS

    Nuestra zona de Firefox OS se centra estrechamente en la plataforma Firefox OS, que brinda todo lo que necesitas saber sobre la construcción de la plataforma, lo que contribuye al proyecto Gaia, especificaciones del teléfono, y técnicas de depuración y pruebas específicas OS Firefox.

    Diseño de aplicaciones

    No hay manera "correcta" para diseñar una interfaz de usuario, pero hay un montón de maneras de hacer que tu aplicación menos divertido y fácil de usar. Nuestra sección de  diseño de aplicaciones le ayudará a evitar cometer errores comunes de interfaz de usuario, y proporcionar conocimientos de diseño de respuesta y otros temas esenciales para el diseño de una aplicación que es un placer de usar, sin importar la plataforma que se está ejecutando.

    Contruyendo aplicaciones

    Nuestra sección contrucción de aplicaciones proporciona recommandaciones claras para desarrolladores y consejos, flujo de trabajo para ayudar a los desarrolladores experimentados a encontrar soluciones a problemas comunes de desarrollo rápido, además de tutoriales y listados de referencia API para aquellos que quieren ir más profundo.

    Publicar aplicaciones

    ¿Quieres que tú aplicación sea publicada e iniciar la formación de una base de usuarios? Nuestra Marketplace contiene toda la información que necesita, incluyendo las opciones de publicación, la presentación a la Firefox mercado, entregando pagos, y más.

    Preguntas más frecuentes

    Preguntas frecuentes sobre conceptos básicos de desarrollo de aplicaciones.

    ¿Debo usar un framework / biblioteca?

    Si usted tiene un cierto framework o biblioteca que se tiende a utilizar a menudo en su flujo de trabajo, no hay nada que le impida la creación de una aplicación web de código abierto instalable con él.

    ¿Hay aplicaciones de ejemplo que puedo empezar a jugar con?

    , hay muchos disponibles en el MDN App Center.

    Etiquetas y colaboradores del documento

    Última actualización por: Superunknown,