Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

API de Desenvolvimento de Aplicações

A lista a seguir contém uma referência a nível de código que pode ser útil durante o desenvolvimento de aplicações para Firefox OS. Para maiores informações, ferramentas e vídeos acesse dochub.io.

Fundamentos de uma aplicação para Firefox OS

Uma aplicação para Firefox OS nada mais é do que um simples Open Web App.

Manifesto
É o arquivo com informações sobre a aplicação. Nessa seção você verá como funciona o manifesto e como criá-lo.
Instalação e gerenciamento de APIs
Interface usada para instalar aplicações e gerenciá-las.
Aplicação rodando offline
Estratégias e tecnologias que podem ser utilizadas para assegurar que a aplicação funcionará quando não houver conexão com a internet disponível.
Tipos de Aplicações
Esse artigo explica os tipos de aplicações: hospedadas, privilegiadas e certificadas. Para acessar APIs específicas do sistema será necessário que a aplicação seja privilegiada ou certificada. As aplicações privilegiadas e certificadas devem ser empacotadas.
Permissões da Aplicação
O acesso às APIs do dispositivo podem ajudar a criar aplicações mais úteis. Aqui voc~e irá encontrar as APis disponíveis e como acessá-las.

Layout e estrutura

Design Responsivo
Sua aplicação deve ser capaz de se ajustar a diferentes tamanhos de telas e dispositivos. Esse guia o ajudará com esse trabalho.
Media queries
Uma das tecnologias mais importantes na hora de criar uma aplicação responsiva são as media queries. Elas permitirão à sua aplicação se ajustar a diferentes tamanhosde telas, resolução, orientação do dispositivo e outras variações, usando CSS e JavaScript. Veja mais em Usando media queries e MediaQueryList.
Box Flexíveis
Os box flexíveis permitirão configurar automaticamentea interface da aplicação para que seja ajustada e posicionada conforme o tamanho e orientação da tela.

Desenho e animações

CSS transforms
Permitem rotacionar, escalar e dar zoom sobre o conteúdo HTML, fazendo uso da aceleração de hardware quando estiver disponível e fazer uso do JavaScript.
CSS transitions
Permitem criar efeitos de transição diretamente no CSS, que ocorrerão a partir de um período de tempo determinado, ao invés de ocorrerem de forma instantânea.
CSS animations
As animações permitirão criar efeitos animados para troca de conteúdo, posicionamento de elementos na página e ciclos de animação que ocorrem uma ou múltiplas vezes, sem a necessidade de utilizar JavaScript.
HTML canvas
O elemento HTML <canvas> provê um espaço para trabalhar com desenhos em 2D, muito útil na produção de jogos.
WebGL
É uma versão da OpenGL ES para web, que permite à aplicação oferecer gráficos 3D acelerados por hardware.
SVG
Scalable Vector Graphics (SVG) é uma tecnologia que permite desenhar objetos vetoriais ao invés de utilizar imagens. São muito úteis, graças à sua escalabilidade, para mostrar diagramas e gráficos e também para interfaces de usuário escaláveis.

APIs do dispositivo

As APIs do Firefox OS são padrões web que estão surgindo e APIs próprias do dispositivo muito importantes para o desenvolvimento de aplicações e Open Web Apps.

A tabela a seguir mostra as permissões para as aplicações, hospedadas, privilegiadas e certificadas. Maiores informações sobre permissões podem ser vistas aqui.

Manifest permission API name Description Minimum app type required access property Default granted Platform
alarms Alarm Schedule a notification, or schedule an application to be started. hosted none Allow FxOS
audio-capture GetUserMedia Obtain MediaStream from audio input devices, e.g. microphone.  This is needed to allow audio capture in Firefox OS 1.2+. hosted none Prompt (even for certified Apps) FxOS
audio-channel-alarm Audio Policy Alarm clock, calendar alarms. privileged none Allow FxOS
audio-channel-content Audio Policy Music, video. hosted none Allow FxOS
audio-channel-normal Audio Policy UI sounds, Web content, music, radio. hosted none Allow FxOS
audio-channel-notification Audio Policy New email, incoming SMS. privileged none Allow FxOS
browser Browser Enables the app to implement a browser in an iframe. privileged none Allow FxOS
contacts Contacts Add, read, or modify contacts from the address book on the device and read contacts from the SIM. privileged readonly, readwrite, readcreate, or createonly Prompt for all installed App types. FxOS
desktop-notification mozNotification for Gecko <22, Notification for Gecko 22+ Display a notification on the user's desktop. Note that this has changed, so for Gecko <22 (Firefox OS <1.2) you need to use mozNotification, while for Gecko 22+ (Firefox 1.2+) you need to use Notification. hosted none Prompt for Web content. Allow for all installed App types. FxOS, Android,
Desktop
device-storage:music Device Storage Add, read, or modify music files stored on the device. privileged readonly, readwrite, readcreate, or createonly Prompt FxOS
device-storage:pictures Device Storage Add, read, or modify picture files stored on the device. privileged readonly, readwrite, readcreate, or createonly Prompt FxOS
device-storage:sdcard Device Storage Add, read, or modify files stored on the device's SD card. privileged readonly, readwrite, readcreate, or createonly Prompt FxOS
device-storage:videos Device Storage Add, read, or modify video files stored on the device. privileged readonly, readwrite, readcreate, or createonly Prompt FxOS
fmradio FM Radio Control the FM radio. hosted none Allow FxOS
geolocation Geolocation Obtain the current location of the user. hosted none Prompt (even for certified Apps) FxOS, Desktop, Android
keyboard Keyboard Allows the app to act as a virtual keyboard by listening to focus change events in other apps. privileged none Allow FxOS
mobilenetwork Mobile Network Obtain mobile network information (MCC, MNC, etc.). privileged none Allow FxOS
push Simple Push Enable an app to wake up to receive notification. hosted none Allow FxOS
storage Storage Utilize storage (appcache, pinned apps, IndexedDB) without size limitations. See appcache, IndexedDB. hosted none Allow FxOS,
Desktop
systemXHR SystemXHR Allows anonymous (no cookies) cross-origin XHR without the target site having CORS enabled. Similar to the TCP Socket API but restricted to XHR, not just raw sockets, so it is slightly less risky. See XMLHttpRequest. privileged none Allow FxOS
tcp-socket TCP Socket Create TCP sockets and communicate over them. privileged none Allow FxOS,
Desktop
video-capture GetUserMedia Obtain MediaStream from video input devices, e.g. camera.  This is needed to allow  video capture in Firefox OS 1.4+. hosted none Prompt (even for certified Apps) FxOS

Web APIs

Elementos, eventos, requisições de rede, armazenamento e outras Web APIs padrões.

Requisições de rede - enviar e receber dados com  XMLHttpRequest
XMLHttpRequest é uma API do DOM usada para enviar e receber informações usando HTTP, incluindo o download de arquivos.
Eventos do DOM
A documentação sobre eventos proporciona uma lista completa dos eventos que podem ser enviados e recebidos para interagir com os elementos do DOM.
Eventos de toque
Essa documentação apresenta os eventos de toque que podem ser utilizados na hora de desenvolver aplicações para dispositivos com telas sensíveis ao toque.
Eventos online e offline
Permite à aplicação responder dinamicamente a mudanças de estado da rede (online e offline).
Histórico
Manipula e navega através do histórico da aplicação com o uso de vários comandos. útil para fazer o processo de avançar e voltar ente as telas da aplicação.
Áudio
Integra e manipula conteúdo de áudio com a tag de áudio do HTML5.
Vídeo
Integra e manipula conteúdo de vídeo com a tag de vídeo do HTML5.
Geolocalização
Permite à aplicação obter, sob permissão, a localização atual do usuário e acompanhar as mudanças da mesma.
Orientação da tela
Acompanha as mudanças de orientação da tela, entre retrato e paisagem.
Orientação do aparelho
Permite à aplicação detectar as mudanças de orientação do aparelho, a partir dos sensores do mesmo.
IndexedDB
Banco de dados para aplicações web que necessitam de uma interface para armazenamento e recuperação de grandes quantidades de dados no dispositivo do usuário.
Armazenamento (Storage)
A API de armazenamento provê várias formas de armazenar uma quantidade limitada de dados simples, de forma persistente, no dispositivo do usuário:
Web workers
permite á aplicação executar código JavaScript (que não pode interagir com o DOM ou com o objeto Window) como uma tarefa de background, o que permite otimizar o rendimento e desbloquear a renderização da interface do usuário.

Serviços da Firefox Marketplace

Esses documentos e guias te ajudarão a aprender como publicar sua aplicação e gerenciá-la na Firefox OS Marketplace

API de Envio
Essa API permite validar a aplicação e receber informações sobre as aplicações disponíveis para instalação.
API da Marketplace
Toda a documentação relacionada à Marketplace.

Etiquetas do documento e colaboradores

 Colaboradores desta página: jlamim
 Última atualização por: jlamim,