Firefox OS之系统简介(一)

在Ubuntu下编译和编程Firefox OS Firefox OS 是一个基于开放 Web 技术的移动操作系统,它的源代码是开源的,可以在 Ubuntu 操作系统上进行编译和编程。Firefox OS 是一个基于开放 Web 技术的移动操作系统,它的源代码是开源的,可以自行编译和定制。将上述代码保存为一个名为 “index.html” 的文件,并将该文件放置在 Firefox OS 源代码的某个目录下。将上述代码保存为一个名为 “index.html” 的文件,并将该文件放置在 Firefox OS 源代码的某个目录下。 阅读详情

      Firefox OS,也即B2G系统。B2G是“Boot To Gecko”的缩写,是Mozilla公司基于Web标准开发的完全开放的移动操作系统,从系统本身到应用程序完全由HTML5、CSS和JS来写的。这里要提一句,基于Web标准和必须要联网之间并非充要关系。 比如我们在使用浏览器的截图插件、Readability插件、愤怒的小鸟、植物大战僵尸等应用和游戏的时候,并不需要联网。主要由3个部分组成,UI部 分叫做Gaia,名字出自希腊语“大地”,也被称作“万物之母”;采用Mozilla引以为豪的Gecko引擎,Gecko就是上图中那只眼睛大大长的很 萌的绿色小蜥蜴;底层部分叫做Gonk,名字来自一种在60年代盛行美国的毛绒玩具。

 Mozilla与MWC 2012上宣布正式和西班牙电信联手,有望今年下半年推出首款B2G手机。B2G将采用linux内核和部分Android技术,B2G目前已经被移植到了GalaxyS II、NexusS 4G等Android手机上。

Firefox的横空出世在很多人的意料之外,其体积小巧功能强大,在安全性、扩展性和可移植性上都有惊人的表现。

     浏览器的复杂度可以和操作系统相提并论,mozilla有数百万行的C++代码。这样复杂的软件,其中到底使用了那些秘技呢?其实,好的设计总是遵循一些众所周知的设计准则,套句俗语说,差的设计千差万别,好的设计都一个样。Mozilla当然也是遵循了这些设计准则,不过,在实现方法上却有很多创新之处,让人惊叹不已。

本文以Mozilla的Firefox设计准则来分析Mozilla的架构设计:

1. 分离界面和实现

      我们知道,用户界面是最容易变化的,也是最难于自动测试的。应用程序开发者根据系统提供的API自己组织简单的逻辑关系来实现不同的应用功能,这就需要分离用户界面和内部逻辑设计。在这一方面,mozilla算是非常前卫了:用标记语言(XUL)开发界面,用编程语言来实现(C++)内部逻辑,再用脚本语言(javascript)把两者胶合起来。XUL的界面描述能力,javascript的简洁性和C++的性能完美的结合在一起了,mozilla把三者的长处发挥到了极致。它们的关系如下图所示:

      

XUL这是一种用XML来描述用户界面的语言。用XML描述用户界面已经不是什么新鲜事了,像Qtdesigner和Glade都是用XML文件格式来存放用户界面描述的,但它们都只是纯粹的界面描述。而XUL同时描述了事件处理、风格(style)和字符串国际化等信息,可以直接被mozillalayout引擎解析执行。

XBL这种称为扩展绑定语言(ExtensibleBindingLanguage)的东东也是mozilla的一大特色,现在已经被W3C作为标准了。作为程序员,我们都知道公共函数库的重要性,公共函数库可以反复重用,从而提高开发效率。在开发用户界面时,也会遇到同样的问题,很多界面都比较类似,拷贝/粘贴当然很容易,但以后维护起来就麻烦了。而XUL并没有提供重用机制,XBL刚好弥补了它的不足。在XUL中可以只描述具有共性的部分,而由XBL对它进行扩展。XBL的功能强大,自身也有组合和继承机制,这大大提高了可重用性。

CSS我们知道CascadingStyleSheets在网页中已经应用多年了,而在浏览器本身实现中使用倒是很少听说。这也没有什么奇怪的,像GTK+中的RC和CSS功能都差不多,也就是说GNOME应用程序一直都在使用类似于CSS的东西。有了CSS,把应用程序的界面视感(lookandfeel)与功能独立开来,让两者可以独立变化,这是非常自然的事了。不过CSS在这里,除了可以修改界面风格外,还可以把XBL和XUL关连起来,以完成对XUL的扩展。

DTD(Document Type Definition)常用来定义标记(MarkupLangugae)语言的语法,功能上与BNF是等价的。不过它在这里,不是为了定义某种语言的语法,而是完成字符串的本地化,只是借了DTD中的实体(Entity)展开机制罢了。这看起来有些大材小用,不过在XML中使用DTD实体来替换要翻译的字符串,没有比这更好的办法了。

property在XUL中用DTD来做字符串本地化,虽然是妙着一招,可是在javascript里它就没有用武之地了。这回该轮到property上场了,在nsIStringBundle接口的帮助下,javascript可以方便的从property文件中取到所要的字符串。

Javascript在XPConnect的支持下,Javascript也可以用来开发COM组件,可以实现任何功能。不过胶合用户界面(XUL)和内部逻辑才是它最拿手的好戏。当然,其中文档对象模型(DOM)起了非常关键的作用,Javascript通过文档对象模型(DOM)来操作XUL中的元素。

firefox os实践 学习firefox os开发的第一个例子 立即下载

相关推荐

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 920

什么是FireFox OS

关于FireFox OS的简单介绍,简明扼要。 关于Firefox OS 一、Firefox OS简介 Firefox OS(火狐移动操作系统)是由Mozilla主导开发的新一代开源移动操作系统,可替代iOS及Android。Firefox OS采用Linux内核以及基于Gecko的运行环境,它为用户提供完全基于HTML/Javascript技术以及其他开放Web应用接口

闲云孤鹤 1996

OI 生涯回忆录 《Pilgrimage》

前言 于 NOI2020 后写下本文。 本文简单提及了在写作时尚能回忆起来的,在我的 OI 生涯中对我的影响重大的人、事、比赛等。 写作本文,旨在在回忆允许的范围内,对 OI 生涯进行一定程度上的梳理,总结。 开端 入门 我最早接触计算机程序设计,是在小学。 那时候,我的数学成绩不错,就被老师推荐去学习编程。 就这样,我在局前街小学的何静老师的指导下,走上了编程的道路。 小学时的编程,与其说是 “竞赛” ,不如说是 “兴趣班” 。 当时,包括我在内,很多小孩子天性是浮躁的。支撑我对着无聊的代码学下去的,并不

cz_xuyixuan的博客 1万+

firefox os 框架解析

FireFox OS是移动操作系统的新成员,它以Linux内核和Gecko为基础,延续了Web版的开源理念。这款新的操作系统在设计上究竟有哪些独到之处?是否能满足移动市场中多元化的用户需求?本文将从FireFox OS的底层架构为入口,从技术角度带领读者开启一段FireFox OS的探秘之旅。 Firefox OS是由Mozilla主导开发的新一代开源移动操作系统。自2011年6

coolme的专栏 2299

深入解析UDS 0x19服务:DTC状态掩码与故障诊断实战

本文深入解析了UDS诊断协议中的核心0x19服务(ReadDTCInformation),重点拆解了DTC状态掩码(DTCStatusMask)的八个状态位及其在故障生命周期中的联动逻辑。通过实战案例,详细说明了从故障发生、确认到清除的全过程,并介绍了如何利用该服务进行深度诊断,包括读取扩展数据(如冻结帧)和避免常见开发误区,是理解汽车ECU故障管理机制的关键。

weixin_29248313的博客 323

Windows事件ID 10010报错:DCOM注册超时与Game Bar修复指南

DCOM(分布式组件对象模型)是Windows中用于跨进程组件通信的核心机制,其注册超时问题常表现为事件ID 10010报错。当Game Bar的PresenceWriter组件因权限配置不当、组件损坏或开机资源竞争而无法在限定时间内向DCOM注册时,系统会记录该错误,并可能伴随DCOM服务主机CPU占用升高或游戏栏功能异常。理解DCOM激活原理与Network Service账户权限,有助于从权限修复、组件重注册及开机时序优化等层面系统排查。本文针对不同Windows版本,提供从静默处理到根治的完整方案,

weixin_33563728的博客 931

Firefox OS系统详解

基于Firefox浏览器的Gecko引擎,用C++实现Web API,支持HTML5应用直接调用硬件功能(如摄像头、传感器)。2016年9月,Mozilla宣布彻底终止Firefox OS项目,其技术遗产由KaiOS(基于Firefox OS优化的功能机系统)和松下智能电视等项目继承。Firefox OS是由Mozilla基金会主导开发的开源移动操作系统,其核心目标是通过开放的Web技术(HTML5、JavaScript、CSS)构建一个跨平台、低成本的智能设备生态系统。2. Gecko(应用运行环境)

bulita great world 1841

别急着编译!修复银河麒麟OpenSSH漏洞前,先搞懂ssh、sshd版本与apt仓库的“爱恨情仇”

本文深度解析银河麒麟OpenSSH漏洞(CVE-2023-38408)修复策略,揭示版本差异背后的企业级维护逻辑,提供从APT升级到源码编译的多维度方案评估。特别针对路径隔离方案和离线环境处理给出技术细节,帮助企业制定兼顾安全与稳定的升级决策框架。

weixin_26642481的博客 454

Firefox OS简介

FirefoxOS,专案名称为BoottoGecko。是由Mozilla主导开发,以Linux内核和Gecko浏览器引擎为核心的新一代开源移动操作系统。其核心理念所有应用都是Web应用,使用的都是HTML5、CSS和JavaScript这些开放的Web标准与接口。所以FirefoxOS是一个名副其实的网络操作系统(WebOS)。其实FirefoxOS也不是第一个网络操作系统,LG的WebOS和Go

chieftain01的专栏 833

【异常】解决 Claude Code 及第三方插件提示 “API Error: 404“ 的配置修复指南

在使用 Claude 相关的 CLI 工具(如)或 IDE 插件进行开发辅助时,配置错误的模型参数是导致连接失败的常见原因。本文将针对这一典型报错进行复盘与解决。

奶爸的编程之路,也就一周冷个三天 7747

【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 1万+

一个最简单的Firefox OS APP的开发及部署

Android和iPhone的大火,令一些开发商(组织)“眼红”了,于是,Ubuntu开发了“平板”版,Firefox的Web OS出炉了,samsumg的Tizen高调亮相了,Google的Chrome OS也继续深化了,总之,Android,iOS以后将面临更多的竞争,以前的好日子快到头了。 Android的成功,大致说明一个系统必须具备两个素质才行:一是要开放(成本低);二是要有足够的技术

guxch的专栏 7529

破解现代反爬虫:JS加密、OB混淆与CSS反爬的实战攻防分析

摘要: 随着反爬技术的升级,JS加密、OB混淆和CSS反爬成为主流防护手段,阻碍传统爬虫获取数据。本文解析了这些技术的工作原理,并提出破解策略:通过模拟浏览器(如Selenium、Puppeteer)执行动态JS,逆向混淆代码,以及利用开发者工具突破CSS隐藏。针对复杂防护,开发者需结合技术分析与工具应用,如API接口抓取、动态渲染破解等,以应对不断演进的反爬机制。未来,爬虫攻防将持续升级,需保持技术敏锐性。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1648

Firefox浏览器完美运行Firefox OS

1、首先,安装火狐浏览器 http://www.firefox.com.cn/download/ 2、然后安装一个扩展,支持MAC、Linux、Windows,点击以下链接即可 Mac: https://ftp.mozilla.org/pub/mozilla.org/labs/r2d2b2g/r2d2b2g-mac.xpi Liunx 32bit: https://ftp.mozi

枯木的Linux专栏 1465

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

firefox os_如何在电视上测试Firefox OS应用

firefox osOne of my responsibilities in my new role in Partner Engineeringat Mozilla is testing HTML5-powered apps and games on Panasonic televisions. The television in my office, a beautiful 60" 4K...

culuo8053的博客 838

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Firefox os

第一步:打开www.baidu.com,搜索“机米论坛” 第二步:打开搜索结果的第一个网站,查看网站右侧分享栏(如下图)选择其中三个进行分享                 (第一个百度搜藏必选进行分享)。 第三步:复制下面内容到各大手机论坛发贴, 论坛发贴详细要求(不合格不审核): 前提:发贴目标必须为(智能手机交流论坛) 1.论坛

firefoxos的专栏 585

firefox os android,若能同时使用Android应用,那么你可以接受Firefox OS手机了吗?

猎云网11月29日报道(编辑:Tony)作为第一部FirefoxOS智能机生产商,西班牙Geeksphone曾给我们留下了一个“敢为人先”的印象。尽管基于Firefox系统的设备并没有得到市场的认可,但这个充满斗志的小制造商却并不服输。最近,Geeksphone推出了一款全新的手机——GeeksphoneRevolution。这部手机的最大特点是同时内置了Firefox和Android两个...

weixin_39836876的博客 221

Firefox OS Quick Start(Firefox OS快速开始)

Firefox OS快速开始 Firefox OS平台给web开发人员希望多年的:移动环境专注于用HTML、CSS和JavaScript创建应用,本指南的目的是让你开始使用一个环境和基本应用架构,以便您可以创建下一个伟大的应用! 如果你想要跟随这个指南学习,你可以下载快速开始应用 应用结构 打包与托管应用程序 有两种类型的Firefox OS应用程序:打包和托管。打包

u013919449的专栏 574

Firefox OS 学习——B2G 源码获取和build code

参考文章:Building and installing Firefox OS 这篇文件简单说下,自己实践获取B2G的源码并编译。 硬件要求:     1. An installed 64 bit GNU/Linux distribution (we recommend Ubuntu 12.04).     2. At least 4 GB of RAM/swap space.

Carson IT之旅 8070

移植Firefox OS到Android手机

今天我拿到了一只新的手机,www.caocong.net手机上运行的正是大家所熟悉Android系统。我的任务是将FirefoxOS移植到这一只新的手机上,这个工作对我来说非常有趣,因为通过hacking的方式可以让我更了解FirefoxOS这个火红的操作系统。以下将分几...

chuanping7294的博客 313

Firefox OS 学习——Gaia settings源码分析(一)

找到settings的源码:/gaia/apps/settings,ls 查看下,有如下的文件或文件夹: index.html:打开Settings首先加载的文件,为什么是它呢?在manifest.webapp中的"launch_path": "/index.html#root" 决定的。  js:存放javascript文件的地方,这js文件义工index.html调用。 loca

Carson IT之旅 4897

为Firefox OS创建Cordova应用

http://mozilla.com.cn/post/60074/ 请注意,除了如下和大家分享的Cordova整合之外,Mozilla还想告知大家,在3月初,Adobe PhoneGap的下个发布中,将会支持Firefox OS。 如果你已经在使用PhoneGap创建应用,你可以快速轻松的将你现有的应用移植到Firefox OS中。我们觉得这简直太棒了,

_Nemon_的专栏 1045

Firefox OS 学习——manifest.webapp结构分析

在Firefox OS 学习——Gaia 编译分析  这篇文章多次提到manifest.webapp文件,对于做过android app 开发的人来说,都很熟悉Android.mk 和Manifest.xml文件。在Firefox OS中,manifest.webapp的作用是综合了android 中的Android.mk 和Manifest.xml的作用。下面就具体说说manifest.we

Carson IT之旅 7126

纯HTML5打造:Firefox OS界面曝光

  北京时间 7 月 20 日消息,今天 TechWeekEurope UK 上面曝光了一组由 Mozilla 推出的手机操作系统 Firefox OS 的最新照片。Mozilla 公司同时确认 Firefox OS 将在明年首先登陆拉丁美洲,随后会向欧洲及全球进行推广。   曝光的这组照片显示,由 HTML5 打造这款手机操作系统与 iPhone 有诸多相似之处。如菜单页面、通讯录界面及输...

海阔天空 231

Firefox OS 学习——学习目录

在此占着一个位置,作为自己以后学习文章的目录. 一  写在前面       1. Firefox OS 知识 二   源码编译        1. B2G 源码获取和build code        2. Gaia 编译分析 三  Gaia源码分析       1. manifest.webapp结构分析

Carson IT之旅 2742
下一篇: Firefox OS之系统简介(二)
rony2012
博客等级 码龄15年 31粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值