`
找不着北
  • 浏览: 316380 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Firefox:浏览器内置数据库之路

阅读更多

IndexedDB 是一个 正在制定中的用于浏览器中大数据量的结构化数据存贮和针对这种数据的高效能索引查询的web标准。 Mozilla已经向w3组织提交了收集到的大量的针对这个规范的重 要反馈资料 。 而且我们计划在Firefox 4中实现这个规范。 我们告诉杰出的web开发者们,我们要制定一个优秀的web上的结构化数据存储API。 与此同时,有几种版本的Safari, Chrome, 和 Opera 支持一种叫做Web SQL Database 的技术,这种技术是使用SQL 语 句作为字符串类型的参数传入到JavaScript API里,我们认为,开发人员的美学立场 是一个重要的考虑因素,因此对于客户端 的 web应用程序来说,这是一种极丑陋的解决方案。 我们把开发人员的反馈意见给了IndexedDB规范说明书的编辑 , 我们还跟 微软讨论过 ,他们同意我们的看法,认为IndexedDB 对于web是一个不错的选择 。 随着Chrome 浏览器团队即将实现这个规范 , 我们有必要在这里解释一下我们的设计决策,以及为什么我们认为对于web来说,IndexedDB是一个比Web SQL Database更好的解决方案。

[顺便提一 下:如果你喜欢外刊IT评论 ,欢迎通过免费RSS订阅 来跟踪本站的最新动态。这是本文的永久链接地址 ]

运行在IE 8+, Safari 4+, Chrome 4+, Opera 10.5+ 和 Firefox 2+ 上的Web应用程序已经能够利用localStoragesessionStorage 通过简单的JavaScript API存储key-value形式的数据。 这种已经被广泛实现的Web存储标准 (包括localStoragesessionStorage )只是适用于小数据量 的数据,而对于大数据量结 构化数据 的存储就力不从心了。 虽然很多服务器端的数据库都使用SQL 来编程操作结 构化数据、有针对性的查询数据,但在客户端,在JavaScript API里使用SQL,存在着很大的争议。

SQL? 什么SQL?

很多的web开发人员都非常熟悉SQL ,因 为他们既跟客户端的代码打交道(例如JavaScript,,CSS以及标记语言),同时也跟服务器端代码大交道(例如PHP和数据库操作)。 然而,尽管受人喜欢的SQL广泛使用,我们却没有一个统一的SQL规范来定义这种技术。 特别的,SQLite 虽然支持大部分的SQL-92 标 准,但也有不少明显的缺失,而WebDatabase API就是以它为基础的。 SQLite它自己并不是一种规范 — 它是一种开发完成的技术! 而最好的用来说明SQLite支持哪些SQL子集的定义文档就是这个SQLite使用手册 。 为了能使Web SQL Database向真正正确的方向发展,我们必须首先为web应用程序定义一个有意义的SQL子集。 当JavaScript本身已经有了很多的优秀解决方案的同时,我们为什么要定义出另外一种语言呢?

SQLite的长处和短处

我们认为SQLite是一种非常有用的技术,它已经成为Firefox有效的扩展组件和受信任的软件。 可我们不认为它是一个合适的对外公开用来生成web内容的API的基础程序, 完全不适合,因为我们没有一个可信任的、广泛接受的标准来正确的规范SQL子集。 除此之外,我们不希望以后会由于SQLite的变动而影响到整个web, 也不认为把各大浏览器(以及web标准)都约束到SQLite上是一种明智的做法。 IndexedDB不存在这些问题;甚至我们可以把对IndexedDB底层的实现基于SQLite之上, 我们通过发布一些不依赖于SQLite语法语义的API将开发人员和SQLite隔离开。

美学和Web开发者

去年,我们在Mozilla校园里举办了一次峰会,主要讨论web上的存储。 我们邀请web开发人员告诉我们他们的理想的web上的结构化数据存储API的样子。 很多人表示有保留的接受以SQLite为基础的API,因为他们在一些浏览器里都使用过Web SQL Database,他们认为有些东西“有”总比“没有”强、比还只是一些概念的东西强。 当然,所有的声音都热情的希望一种更好的设计方案,期望一种更易处理的更简单的模式。 我们看着程序员们在白板上绘制一个简单的BTree API,将他们遇到的应用程序上对数据存储的要求添加到上面,这激励着我们去重视他们的意见。 我们达成一致,认为使用字符串表示SQL语句缺乏作为“web原生”的JavaScript API的优雅,应该寻找一种替换设计。我们和微软一起征求关于IndexedDB议案的回馈,有幸成为为这个标准努力的活跃分子。

在另外一篇文章里,我们将 IndexedDB和Web SQL Database进行了对比 ,注意到前者提供了一种比后者跟简单的语法。 IndexedDB给第三方开发者开发JavaScript代码库提供了完全的空间,让他们可以通过BTree API完全驾驭下层基础, 我们非常期待像BrowserCouch 这 样的构建于IndexedDB之上的具有首创精神的成果出现。 坚定无畏的开发人员们实际上可以在IndexedDB上开发出一个SQL API。 我们特别的期望看到 一种基于IndexedDB的Web SQL Database API实现, 我们认为这在技术上是能做到的。在浏览器里使用SQL-based API基本上不是一种合适的入手途径,但在IndexedDB上的SQL-based APIs还是有它的空间的。

我们希望继续和web开发人员们探讨web上的数据存储,这能帮助我们整理关于产品功能和未来web标准的思路。 我们期待着下一代的web应用程序能够在索引过的数据上执行高性能的查询操作,期望web应用能在“airplane模式”下更健壮的运行。

 

来自 外刊IT评论

 

:)

22
4
分享到:
评论
2 楼 lixinlixin2008 2010-06-19  
一直不觉得浏览器里强悍的SQL有啥用,不过也许以后会有用处吧,那个时候的js应该有更多的操作本地的代码而达到桌面程序的功能,当然,前提是用户允许
1 楼 找不着北 2010-06-16  
Firefox:浏览器内置数据库之路

相关推荐

    firefox 浏览器结构分析

    随着时间的推移,Firefox不仅在性能上有了显著提升,在用户界面设计、安全性和隐私保护方面也不断进步,成为与Google Chrome等浏览器竞争的主要力量之一。 #### 三、Firefox浏览器的核心组件 ##### 3.1 用户界面...

    渗透系列:导出Firefox浏览器中保存的密码

    本文将深入探讨如何导出Firefox浏览器中存储的密码,以及与之相关的工具和技术。 Firefox是一款广泛使用的网络浏览器,它允许用户保存登录凭证以方便后续访问。这些密码在本地设备上加密存储,但通过特定的方法可以...

    Firefox 52.0.2 渗透便携版

    Firefox 52.0.2 渗透便携版是专为渗透测试人员设计的特别版本,包含了多种内置的渗透测试插件,使得测试者无需安装即可进行高效的工作。 首先,让我们深入了解一下渗透测试。渗透测试是一种授权的、系统性的攻击...

    FireFox调试工具:FireBug加对应版本FireFox

    标题中的“FireFox调试工具:FireBug加对应版本FireFox”指的是Firefox浏览器的一款强大的开发者工具——FireBug,以及它与特定版本Firefox的搭配使用。FireBug是早期Web开发人员广泛使用的浏览器扩展,它提供了对...

    Firefox火狐浏览器官方Setup 45.9.0esr-win64版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。本资源提供的“Firefox Setup 45.9.0esr-win64版本exe安装包”是针对Windows 64位操作系统...

    Firefox火狐浏览器官方Setup 70.0.1-win64版本msi安装包

    Firefox火狐浏览器,作为全球知名的开源网页浏览器,以其强大的安全性能、丰富的扩展插件以及高度的自定义性深受用户喜爱。这里我们聚焦的是Firefox 70.0.1-win64版本的msi安装包,这是一款专为64位Windows操作系统...

    Firefox插件(XUL)开发 学习笔记 - 1. 开发环境以及数据库一瞥

    在IT领域,Firefox插件开发是一项重要的技能,它允许用户扩展和自定义浏览器的功能。XUL(XML User Interface Language)是Firefox插件开发的核心技术,用于构建用户界面。这篇学习笔记将带你走进Firefox插件(XUL)...

    Firefox火狐浏览器官方43.0b3-win32版本exe安装包

    Firefox火狐浏览器,作为全球最受欢迎的网络浏览器之一,以其开源、安全、可定制性强等特性深受用户喜爱。本文将详细介绍43.0b3-win32版本的Firefox安装包及其特点。 Firefox 43.0b3是火狐浏览器的一个早期版本,该...

    Firefox火狐浏览器官方2.0.0.11-win32版本exe安装包

    Firefox火狐浏览器是一款开源、免费的网络浏览器,以其强大的功能、高度的可定制性和对用户隐私的重视而闻名。2.0.0.11-win32版本是针对Windows 32位系统的特定版本,发布于2008年,为用户提供了安全、稳定的网页...

    Firefox火狐浏览器官方88.0b5-win32版本msi安装包

    Firefox火狐浏览器,作为全球最受欢迎的开源网络浏览器之一,一直以来都以其强大的安全性、隐私保护和可定制性受到广大用户的青睐。88.0b5-win32版本是Firefox针对Windows 32位操作系统推出的一个更新版本,旨在提供...

    Firefox火狐浏览器官方Setup 58.0b12-win64版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。本资源是Firefox的58.0b12-win64版本的官方安装包,专为64位Windows操作系统设计。本文将...

    Firefox4&5&6&插件精选

    标题“Firefox4&5&6&插件精选”与描述“Firefox4&5&6&插件精选,包含官方版本的4,5,6以及精选插件for开发者”揭示了这个压缩包的内容主要聚焦于Mozilla Firefox浏览器的特定版本及其相关的开发者插件。以下是关于...

    火狐浏览器 52.0.2 渗透 90SEC beta8.zip

    除了内置工具外,火狐浏览器52.0.2 90SEC beta8.7z可能还包括了针对特定安全测试场景的配置设置,如禁用某些可能泄露信息的浏览器功能,或者启用更严格的隐私模式,以更好地模拟真实的攻击环境。 在实际使用过程中...

    firefox 14.1

    Firefox,全称Mozilla Firefox,是由Mozilla基金会开发的一款开源网页浏览器。Firefox 14.1是该浏览器的一个版本,它在当时提供了许多先进的特性和改进,旨在为用户提供更高效、安全的浏览体验。 1. **版本更新与...

    Firefox火狐浏览器官方Setup 81.0.1-win64版本msi安装包

    Firefox火狐浏览器,作为全球知名的开源网页浏览器,以其强大的安全性能、丰富的扩展插件以及高度的自定义性深受用户喜爱。这里我们关注的是其81.0.1-win64版本的msi安装包,这是一个专为Windows 64位操作系统设计的...

    Firefox火狐浏览器官方31.5.3esr-win32版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。本资源是Firefox的31.5.3esr-win32版本,特别为Windows 32位操作系统设计的安装包,适用于...

    Firefox火狐浏览器官方Setup 51.0b11-win64版本exe安装包

    Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护及可定制性闻名于世。本篇文章将详述Firefox 51.0b11-win64版本的安装过程及相关知识点。 首先,我们来了解...

    合并Firefox历史记录并轻松修复丢失的图标_Go_下载.zip

    Firefox(火狐浏览器)作为一款广受欢迎的开源浏览器,其历史记录功能同样受到用户的重视。然而,有时由于各种原因,如误操作、软件冲突或系统故障,可能会导致Firefox的历史记录损坏或者图标丢失,影响用户体验。...

    vcenter6.0采用oracle11g独立数据库

    - **浏览器及Adobe Flash Player**:需要安装火狐或谷歌浏览器以及Adobe Flash Player,以便于通过Web客户端访问和管理vCenter Server。 - **操作系统和数据库安装**:虽然具体的操作系统和数据库安装步骤不在本文档...

    Firefox火狐浏览器官方10.0b3-win32版本exe安装包

    《Firefox火狐浏览器10.0b3-win32版本详解》 Firefox,这款由Mozilla基金会开发的开源网络浏览器,自2004年首次发布以来,就以其强大的功能、高度的可定制性和对用户隐私的重视赢得了全球用户的喜爱。在本文中,...

Global site tag (gtag.js) - Google Analytics