• [FirefoxOS_开发]Firefox OS Quick Start


    Firefox OS平台给web开发人员希望多年的:移动环境专注于用HTML、CSS和JavaScript创建应用,本指南的目的是让你开始使用一个环境和基本应用架构,以便您可以创建下一个伟大的应用!

    如果你想要跟随这个指南学习,你可以下载快速开始应用

    应用结构

    打包与托管应用程序

    有两种类型的Firefox OS应用程序:打包和托管。打包应用程序本质上是一个zip,包含了所有的应用程序资源:HTML、CSS、JavaScript、图像、manifest等。托管应用程序运行在一个固定的域名的服务器上,就像一个标准的网站。两个应用程序类型需要一个有效的manifest。当到在Firefox市场上发布你的应用时,你要么以zip上传你的应用程序,要么提供的你托管应用程序的URL对于本指南,你将创建一个托管在本地的应用。

    一旦你的程序准备发布在Firefox的市场,你可以打包成一个打包程序或以一个托管应用发布应用manifest每一个Firefox OS应用程序需要一个在应用根目录的manifest。manifest .webapp 文件会提供关于这个应用程序的重要信息,比如版本、名称、描述、图标位置、本地字符串、应用安装的来源,还有更多(只有名称和描述是必需的)简单的manifest包括应用程序模板,例如:

    {

    "version": "0.1",

    "name": "你的应用",

    "description": "你的可怕的开放Web应用",

    "launch_path": "/index.html",

    "icons": {

    "16": "/img/icons/mortar-16.png",

    "48": "/img/icons/mortar-48.png",

    "128": "/img/icons/mortar-128.png"

    },

    "developer": {

    "name": "你的名字",

    "url": "http://yourawesomeapp.com"

    },

    "installs_allowed_from": ["*"],

    "locales": {

    "es": {

    "description": "新的令人印象深刻的可执行开放Web",

    "developer": {

    "url": "http://yourawesomeapp.com"

    }

    },

    "it": {

    "description": "Il vostro nuovo fantastico Open Web App",

    "developer": {

    "url": "http://yourawesomeapp.com"

    }

    }

    },

    "default_locale": "en",

    "permissions": {

    "systemXHR": {}

    }

    }

    更具体的细节可以在该项目接近完工时添加,是大多数Firefox OS应用所选择的。一个基本的manifert将开始
    应用布局与设计

    响应变化的设计已经变得越来越重要,更多的屏幕分辨率成为在不同的设备上的标准。即使你的应用程序的只有火狐浏览器操作系统的版本,重要的是,要记住Firefox OS可以安装在各种设备使用不同的屏幕分辨率。CSS提供了一种方式去适应设备:

    /*以下是不同的CSS例子*/

    /*基本桌面/屏幕宽度 */

    @media only screen and (min-width : 1224px) {

    /* style */

    }

    /* 传统iPhone宽度 */

    @media  only screen and (-webkit-min-device-pixel-ratio : 1.5),

    only screen and (min-device-pixel-ratio : 1.5) {

    /* style */

    }

    /* 装置设置在不同的方向 */

    @media screen and (orientation:portrait) {

    /* style */

    }

    @media screen and (orientation:landscape) {

    /* style */

    }
    有很多JavaScript和CSS框架可用来帮助响应设计和移动应用开发(引导等),选择最适合你的应用程序和开发风格的框架。Mozilla的mortar是一个很好的工具。mortar对相应的设计有所帮助,但提供JavaScript工具来帮助在Firefox OS的模板开发,例如zepto.js(替代jQuery),和一个在Firefox OS模拟器安装你的应用的实用程序。这是mortar最基本的布局模板快速入门:

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8">

    <title>我的App</title>

    <meta name="description" content="">

    <meta name="viewport" content="width=device-width">

    <!-- 把favicon.ico放在根目录 -->

    <link rel="stylesheet" href="css/app.css">

    </head>

    <body>

    <!-- 使用这个安装按钮本地安装,无需通过应用商店(见app.js) -->

    <button id="install-btn">安装</button>

    <!-- 在这里写你的应用 -->

    <!-- 使用require.js,一个javascript模块系统,包括js文件。加载“init.js”,进而可以加载其他文件,所有由require.js处理的 http://requirejs.org/docs/api.html#jsfiles -->

    <script type="text/javascript" data-main="js/init.js" src="js/lib/require.js"></script>

    </body>

    </html>复制代码随意修改mortar所提出的结构-上面的代码片段应该让你发展。请注意,所有JavaScript代码必须在单独的.js文件,没有内联,脚本是允许的。Web APIsJavaScript APIs 创建并伴随着设备的提高而提高,Mozilla的Web APIs努力将许多移动特性带到JavaScript API来。一个设备支持列表和状态可在Web APIs页面查看。当然,JavaScript特性仍是最好的:

    //如果设备支持震动API

    if('vibrate' in navigator) {

    //震动一秒

    navigator.vibrate(1000);

    }

    在这个非常基本的应用程序模板,我们将修改一个基于改变设备的电池状态的DIV的风格:

    / /创建电池指示器的监听器

    (function() {

    var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery, indicator, indicatorPercentage;

    if(battery) {

    indicator = document.getElementById('indicator'),

    indicatorPercentage = document.getElementById('indicator-percentage');

    / /设置监听器的变化

    battery.addEventListener('chargingchange', updateBattery);

    battery.addEventListener('levelchange', updateBattery);

    / /立即更新

    updateBattery();

    }

    function updateBattery() {

    / /更新百分比宽度和文本

    var level = (battery.level * 100) + '%';

    indicatorPercentage.style.width = level;

    indicatorPercentage.innerHTML = 'Battery: ' + level;

    / /更新充电状态

    indicator.className = battery.charging ? 'charging' : '';

    }

    })();复制代码在上面的演示代码中,一旦你确认电池API支持,您可以对chargingchange和levelchange的监听器以更新元素的显示。查看WebAPI页面,经常保持更新设备API状态WebRT APIs(基础权限api)有许多需要权限的WebAPIs需要使用。应用程序可以在manifest.webapp注册许可请求:

    //manifest中的一个新键值:"permissions"

    //请求访问任意数量的api

    //我们在这里请求

    permissions to the systemXHR API"permissions": {

    "systemXHR": {}

    }

    一旦在Firefox OS模拟器安装你的应用,打开应用设置,选择应用权限,选择您的应用,并根据需要启用权限。重要的是要注意,并不是所有的Web api都已经在Firefox OS模拟器实现。

    工具&测试
    测试是在支持移动设备方面是很重要的。有很多方式可用于测试Firefox OS应用:
    Firefox OS模拟器
    安装和使用Firefox OS模拟器是使你的应用运行起来最简单的方法。在安装模拟器后,访问Tools->Web Developer->Firefox OS Simulator menu。模拟器与JavaScript控制台会启动,这样你就可以在模拟器中调试你的应用!
    单元测试
    当在不同的设备和构建习惯上测试时,单元测试是极有价值的。jQuery的QUnit是热门的客户端测试工具,你可以使用任何你喜欢的测试工具集。
    FirefoxOS设备上
    自从Firefox OS是一个开源平台,代码和工具可以用来在你自己的设备上构建和安装Firefox OS。构建和安装说明上可以找到MDN。Firefox OS预览设备都将可以很快通过Geeksphone
    应用提交和分布
    如果你的应用是完整的,它可以提交到Firefox的市场。你的应用的manifest将被验证,你可以选择你的应用程序将支持哪些设备(如Firefox OS、Firefox桌面版、Firefox移动版、Firefox平板)。确认后,你可以添加更多关于你应用的细节(截图、描述、价格等等),并正式提交manifest到应用市场。如果批准了你的应用,就可以提供给世界上所有用户购买和安装。

  • 相关阅读:
    zz学习技术的三部曲:WHAT、HOW、WHY
    zz一种理想的在关系数据库中存储树型结构数据的方法
    某外企SQL Server面試題
    C语言中的指针 &与*
    剖析SQL Server执行计划(zz)
    UNICODE,GBK,UTF8区别
    (Part 1Chapter 14) High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI
    关于GtkTreeView和 MVC的一篇好文章 入木三分
    一个混合 MPI_Init() 和 gtk_init() 的实例序
    (Part 2Chapter 57) High Performance Linux Clusters with OSCAR, Rocks, OpenMosix, and MPI
  • 原文地址:https://www.cnblogs.com/webapplee/p/3771928.html
Copyright © 2020-2023  润新知