Firefox OS应用开发指南之预备知识

从app的开发环境开始

Web apps是基于标准web技术之上的应用。它们能运行在任何现代浏览器之上(一般来说对html5支持好的都是现代浏览器),并且采用你喜欢的开发工具来开发。与网站不同,web
app具有如下几个典型的特征:

应用本身是由用户安装的,它们是独立的,并不依赖与浏览器窗口,同时可以在离线状态下运行。Gmail, Twitter, 和 Etherpad都是web app。

火狐公司的web app项目为现有的网站提供了额外的机遇,让它们能变成能运行在一个丰富、有趣且强大的计算环境中的应用。这些应用能运行在桌面浏览器和移动设备中,相比网站这种形式来说,用户更容易发现和安装它们。Web app正迅速的增加着一些出色的功能,比如,用户能在各种各样的设备之间实现数据同步。

开始之前.分享一个最好用的UI前端框架!

如果你还是第一次接触web app,那么你可以参考 implementationstate of the API.

发布app

开发一个网站app唯一要做的事情就是添加一个app
manifest。这是一个描述你app的JSON格式文件,包括app名称,app图标,以及其他可读信息。

Manifest文件必须和你的网站在同一个域名下,且被访问的Content-Type是application/x-web-app-manifest+json的形式。(Note:现阶段FireFox不强制这么做,但是要发布在FireFox应用市场,这是必须的)。要知道关于manifest全部细节请参考:app的
manifest 文档。关于检查manifest合法性的工具的详细情况参考:Validatinga manifest.

同一网站下多个app

记住有一点很重要,这就是每个app都只能从自己的域名之下被访问。不同的app不能共享同一个域名。有一种解决这一限制的办法:不同的app关联不同的子域名。要知道更多,参考关于manifest的政策s

检查一个app是否已经安装

当一个浏览器在加载app页面的时候,页面需要判断这个用户是否没有安装该app,通过调用checkInstalled(),判断一个app是否安装。如下:

.代码

  1. var request =navigator.mozApps.checkInstalled("http://path.to/my/example.webapp");
  2. request.onsuccess = function() {
  3. if(request.result) {
  4. // we‘re installed
  5. }else {
  6. // not installed
  7. }
  8. };
  9. request.onerror = function() {
  10. alert(‘Error checking installation status: ‘ + this.error.message);
  11. };

安装app

你可以直接通过你的网站来发布app。通过你的站点来测试安装是一个不错的主意。在提交app到Firefox
Marketplace之前确保你的manifest文件的合法性。

只需用一个按钮或者超链接来触发如下的javascript代码: 分享一个最好用的UI前端框架!

.代码

  1. var request =navigator.mozApps.install("http://path.to/my/example.webapp");
  2. request.onsuccess = function() {
  3. //great - display a message, or redirect to a launch page
  4. };
  5. request.onerror = function() {
  6. //whoops - this.error.name has details
  7. };

触发navigator.mozApps.install()这句代码会让浏览器加载manifest(这里是example.webapp)并且询问用户是否安装。如果用户确认安装,那么这个app将被安装进浏览器。在OS
X中应用将被安装到Applications目录下。

navigator.mozApps.install()的第二个参数是关于数据方面的,用于保存一些信息到用户已安装应用的数据集中。这些信息可以被同步到其他设备,应用可以通过调用getSelf()来恢复,参考:Checkingwhether
the app is installed。如下:

.代码

  1. navigator.mozApps.install(
  2. "http://path.to/my/example.webapp",
  3. {
  4. user_id: "some_user"
  5. }
  6. );

 

推销你的app

Mozilla正在打造一个app的市场,一个能能管理好app的发现,排名和计费的应用市场。采用允许第三方创建自己商店的开放平台的方式,但创建自己的商店并不是必须的。

如果你想让人们为你的app付费,参考Marketplacepayments。

FireFox 市场将会很快投入使用,你可以注册为应用开发人员来获得FireFox 市场的最新信息,同时获得一些关于开发app的建议。注册地址:sign
upfor the Apps Developer newsletter

离线运行和使用高级api

现代浏览器增加了很多新的特性来支持离线运行和本地话操作。这里是一些有用的连接:

离线运行:使用HTML5
appcache的demo;

联网与断网事件:检测设备的离线与在线状态

在应用中使用音频和视频


Canvas画图

使用
WebGL绘制3D图形

使用
Content-Editable来为app创建功能全面、快速的富文本编辑器

通过HTML5
的api在web应用中使用文件系统

使用
Drag 和 Drop来拖动程序中的元素

检测设备的横竖屏。分享一个最好用的UI前端框架!

在本地存储数据

本地存储的api提供了以键值对形式存储用户访问app的数据的方法。如果用户用的是现代浏览器,比如firefox
4 或者Chrome,你还能使用IndexedDB,一种高性能的结构化的客户端数据库。

如果你希望在不同设备不同app之间共享数据的话,你需要使用上面提到的install()函数的第二个参数。

时间: 2024-09-30 06:23:15

Firefox OS应用开发指南之预备知识的相关文章

firefox os 手机开发之设备调用

1)话筒 权限:telephony api:navigator.moztelephony 链接参考:https://wiki.mozilla.org/WebAPI/WebTelephony 2) 扬声器 权限:audio channels选项:["normal", "content",""notification", "alarm", "telephony","ringer"]

Firefox OS调试开发系列视频教程

1.教程视频一:B2G 桌面介绍 (Firefox OS) 在这部视频里,作者向我们展示了如何在MAC OS.Windows和Linux环境下下载和安装桌面版B2G模拟环境,作者发掘出了隐藏在设置菜单中的一些有用的开发设置,并展示如何打包你现有的网络应用并安装在Firefox OS上. b2g desktop nightly下载地址: ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/ Firefox OS模拟器

使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上)

为了介绍使用ASP.NET Core构建GraphQL服务器,本文需要介绍一下GraphQL,其实看官网的文档就行. 什么是GraphQL? GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具. 官网地址:https://graphql.org/ 中文网址(感觉不是官方的

Firefox OS开发指南

在海外社区Leanpub上线了<Firefox OS App开发>快速指南,指引开发者尝试新技术.这款<Firefox OS App开发>快速指南现已开放下载,HTML5开发者可下载体验. 现在距离Mozilla正式推出Firefox OS已经过去了一年多的时间,Firefox OS在过去的时间里,开创了一个基于HTML5的移动OS平台. 下载

firefox os 开发模拟器1.4版本安装开发详解

首先在使用firefox os 模拟器的时候必须先下载firefox 浏览器,这个是众多web开发者必备的工具,下载地址firefox 浏览器 ,在最新的官方版本是1.5版的模拟器,但是现在还不是很稳定,所以暂时就以较稳定的1.4版本做为蓝本供开发者交流学习,下载地址firefox os 模拟器 ,接下了就是图文教程,教你一步一步安装1.4版的firefox os 模拟器,开始新的firefox os开发之旅! 编辑(5狐网)--更多资料教程请到Firefox os 论坛(5狐网) 连接地址:h

驱动开发读书笔记. 0.06 嵌入式linux视频开发之预备知识

驱动开发读书笔记. 0.06  嵌入式linux视频开发之预备知识 由于毕业设计选择了嵌入式linux视频开发相关的项目,于是找了相关的资料,下面是一下预备知识 UVC : UVC,全称为:USB video class 或USB video device class.是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一. UVC linux driver: UVC linux 驱动 需要在编译内核的时候选上 配置内核 Device

firefox os 开发模拟器1.4版本号安装开发具体解释

首先在使用firefox os 模拟器的时候必须先下载firefox 浏览器,这个是众多web开发人员必备的工具,下载地址firefox 浏览器 .在最新的官方版本号是1.5版的模拟器,可是如今还不是非常稳定,所以临时就以较稳定的1.4版本号做为蓝本供开发人员交流学习,下载地址firefox os 模拟器 ,接下了就是图文教程,教你一步一步安装1.4版的firefox os 模拟器,開始新的firefox os开发之旅! 编辑(5狐网)--很多其它资料教程请到Firefox os 论坛(5狐网)

firefox os 开发踩地雷游戏源码

踩地雷这游戏在大家生活中应该不陌生吧!咋们八零九零后都基本上玩过这款游戏,这也曾是windows xp上一款标配的单机游戏,想想无聊的时候拿出来玩玩倒是不错,今天推出Firefox os版踩地雷源码,希望给大家学习Firefox os带来帮助! 点击下载:firefox os 开发踩地雷游戏源码 编辑@5狐网 firefox os 开发踩地雷游戏源码

firefox os 该设备呼叫移动开发

1)话筒 权限:telephony api:navigator.moztelephony 参考链接:https://wiki.mozilla.org/WebAPI/WebTelephony 2) 扬声器 权限:audio channels选项:["normal", "content",""notification", "alarm", "telephony","ringer"]