在接触一个新的平台或环境时,查看一些代码和示例来了解如何运作始终是一个好主意。对于Firefox OS 和应用开发来说,它仅仅是 Web 加上了一些额外的功能。
之前在 Mozilla Hacks 上,我们已经介绍了一些开始构建 Firefox OS 应用的方法
我的经验
最近,我有幸参加并组织了一些关于 Firefox OS 的研讨会,见证了开发者尝试为其构建应用、移植他们现有的 Web 应用以及更多。
这对我来说是一个极好的学习过程,并且观察到人们可能需要哪些提示、帮助或示例至关重要!
Firefox OS 应用样板
这促使我创建了Firefox OS 应用样板。顾名思义,它旨在为你提供构建应用的最基本功能,无论是从头开始构建还是移植现有的 Web 应用。
其理念也是避免依赖任何外部库或资源,而是保持自包含。
它包含
- 一个安装按钮,允许你将其安装为托管应用
- Web Activities – 许多示例和用例
- WebAPIs 在行动
- 离线支持(默认禁用)
- 打包应用 – 将你的应用安装为 ZIP 文件
它可在 GitHub 上获取
如何使用它
最简单的入门方法是安装并测试各种功能,方法是在 Firefox OS 设备上的 Web 浏览器或Firefox OS 模拟器 中导航到Firefox OS 应用样板。
或者,通过提供以下任一 URL 在 Firefox OS 模拟器仪表盘中安装它
- http://robnyman.github.com/Firefox-OS-Boilerplate-App/
- http://robnyman.github.com/Firefox-OS-Boilerplate-App/manifest.webapp
本地运行
一旦你准备好开始开发,下载代码并在 Web 服务器上运行它,或者在 Firefox OS 模拟器中指向你的本地 Firefox OS 应用样板版本。
注意:确保清单文件中的路径在你的本地主机上有效 – 请记住,这些路径相对于提供服务的网站的根目录。
还要确保配置你的服务器以使用正确的Content-type
发送清单文件:application/x-web-app-manifest+json
。
例如,这在 Apache 中的.htaccess 文件 中很容易设置
AddType application/x-web-app-manifest+json .webapp
离线支持
我提供了一个.appcache 文件 来启用离线支持(默认禁用)。
要启用离线功能,只需将其添加到index.html 文件中
在启用离线支持之前,请务必做好功课,以避免可能出现的初始问题
请记住,.appcache
文件必须作为 text/cache-manifest
文件提供服务
AddType text/cache-manifest .appcache
打包应用
当你开发 Web 应用时,默认情况下它们是从服务器提供的,因此需要在线连接或启用离线支持才能按预期工作。
但是,你还有另一种选择,即打包应用。基本上,它是将应用的所有文件放入 ZIP 文件中,使其直接在设备上可用。
打包应用还可以请求对 Firefox OS 中某些 WebAPI 的高级访问权限,而这些权限对托管应用不可用(我们将在 Mozilla Hacks 上的后续文章中详细介绍差异)。
Firefox Boilerplate OS 应用中包含几个文件可以帮助你入门,如果你对此感兴趣。
要创建和安装打包应用,你需要执行以下几个步骤
- 压缩所有应用内容(不包含文件夹),包括常规清单
- 创建一个迷你清单(package.manifest 文件),并确保“package_path”是 ZIP 所在位置的绝对路径
- 开发者名称和信息必须与 ZIP 文件中常规清单中的信息匹配
- 在 JavaScript 中使用
installPackage
调用指向迷你清单(而不是常规的install
调用)– 这在base.js 文件中的注释中显示 - 在 Firefox OS 模拟器中打开开发者模式(设置 > 设备信息 > 更多信息 > 开发者 > 开发者模式)
- 如果要访问某些 API,请在清单中添加 type 属性(例如
"type" : "privileged"
)
正在开发中
Firefox OS 应用样板正在开发中,这意味着它可能会随着时间的推移而发生变化。但是,我相信它可以让你对 Firefox OS 中 Web 应用的可能性有一个良好的开端和了解。
希望你喜欢它,请告诉我你的想法!
关于 Robert Nyman [荣誉编辑]
技术布道师和 Mozilla Hacks 编辑。发表演讲并撰写关于 HTML5、JavaScript 和开放 Web 的博客文章。Robert 是 HTML5 和开放 Web 的坚定支持者,自 1999 年以来一直从事 Web 前端开发工作 - 在瑞典和纽约市。他还定期在http://robertnyman.com上发布博客文章,并且热爱旅行和结识新朋友。
36 条评论