您的位置: 首页 > 技术文档 > 网站建设 > 下一代web:浏览器存储支持
如何驾驭电子邮件 回到列表 Opera网站开发工具Dragonfly简介
 下一代web:浏览器存储支持

作者:净空无道 时间: 2008-06-10 文档类型:翻译 来自:译言

第 1 页 下一代web:浏览器存储支持 [1]
第 2 页 下一代web:浏览器存储支持 [2]

下一代的 web 已经开始上路了,就在这个星期,MySpace 集成了 Google Gears,雅虎发布了新的 BrowserPlus,Google 的浏览器版三维地球也上线了。类似 AIRSilverlightJavaFXGearsXULWeb Applications 1.0 (DOM5, HTML5 等) 这样的技术和格式让开发者能够超过 AJAX 加速冲向下一代的,有着更好的性能、更多的功能,而且和桌面集成的更加紧密的 web 程序。

现在,因为各个公司都急于展示他们自己的下一代 web 的样子,导致开发者和用户都被前所未有的超多 web 技术所压迫;“DLL 地狱”也被“插件地域”所取代。但是在 web 上,这样过多的选择会导致用户和开发者的成本增加。第一次 web 格式大战已经过去十多年了,那个时候微软、网景、苹果、美国在线还有其他公司都在浏览器标准、脚本语言、web 服务等方面成立了不同的基金会。这次大战的影响一直持续到现在,例如 Javascript 开发者需要依赖 整套代码库 来开发跨浏览器代码,CSS 开发者需要一系列 hack 才能让他们的站点能够在不同的浏览器中看起来都一样。

现在新一代的富 web 程序技术还都在开发阶段,所以还有机会采用基于标准的态度,来避免重蹈覆辙。幸亏有了过去十多年的教训,现在连微软这样的公司都在以更加开放的姿态来接纳开放标准、数据迁移还有跨平台支持。不管是用户还是开发者,对开放标准的广泛支持都能简化他们用到的技术,但是明显的,并不是所有当前发布的新技术都能支持开放标准。

在 Techcrunch 这一系列帖子里,我们来看看这些组成新一代 web 的各种元素,并且评估可用的选项,当前支持的标准以及对标准的采用情况。由于 MySpace 刚刚宣布他们在程序里面使用了 Google Gears,那么我们的第一篇就来评估基于浏览器的本地缓存。

基于浏览器的本地存储

随着基于 web 的应用程序逐渐流行,就有了希望能够离线运行这些程序的需求。第一个不需要任何插件或者独立程序的解决方案是那些靠缓存 HTTP 头信息来在浏览器缓存里存储信息的方法。类似 Dojo 对离线 web 应用的支持这样的 Javascript 库使用的就是这样的原理,但是这样的程序应用范围非常狭窄,因为没有一个好的办法在浏览器里存储结构化的数据。(Dojo 现在引用了很多包括 Gears 在内的其他的存储引擎——提示:Dylan

在 2007 年 5 月,Google 发布了Google Gears,一个浏览器插件,它允许 web 程序把数据同步到本地存储器,然后可以离线使用这些 web 程序。在 Gears 发布会上,Google Reader 被重写以支持 Gears,Gears 的突出的重点是离线访问应用程序。但是不被所知的是,Gears 不仅仅能够用来离线访问,它还提供这三大功能:

  • 缓存资源(HTML 页面、图片等)
  • 在数据库中存储结构化数据
  • 异步后台工作线程

    在这部分我们关注的是本地对象和结构化数据存储。Gears 通过 Javascript API 来提供相应的功能,这些 API 可以被任何 web 程序访问到。Sqlite,一个轻量级 RDBMS,提供了结构化存储的支持。由于使用了本地数据库,开发者不仅可以执行查询、插入新纪录这样的操作,还能执行更复杂的 SQL 操作,例如连接多表查询等。尽管你可以有多个使用 Gears 的程序,但是每个程序都要运行在一个基于域名的安全模型的沙盒环境里(类似 cookie 和 AJAX 请求)。虽然 Sqlite 已经嵌入 Firefox 2.0 以后的版本,但是它的 API 只能够被 Firefox 核心组件或者附加模块访问到。Gears 插件弥补了这个缺陷,让客户端脚本环境也能够访问到这些 API。

    在 Gears 发布前,万维网超文本应用程序技术工作组 (WHATWG) 已经着手制定 Web 程序规范 1.0 草案,这个草案把结构化数据存储包括到了 HTML5 里。该草案当前版本包含了对访问数据库对象和查询本地数据存储的定义。实现的细节虽然交给了各个公司去完成,不过规范里面已经详细说明了 API 的细节。Firefox 将会在 3.0 版里实现一部分和 WHATW 规范一样的存储 API,不过这个版本现在只有预览版可用。WHATWG 规范里的关键部分有:

  • 程序缓存 ——在本地浏览器缓存里存储对象(包含校验)。
  • navigator.onLine——测试浏览器是否在线(使用缓存,如果需要则加上本地数据存储)。
  • 存储界面和事件——用来通过 sessionStorage DOM 属性存储“名称/值”对。
  • 数据库界面——用来连接本地数据库。支持 SQL语法(或者其子集,取决于使用的服务器)、版本控制和错误回调事件。
  • 线程和回调——这样多个请求就能够异步发送给本地数据存储。

    调用本地存储、缓存和离线访问相对来说很简单。程序首先检查是否支持相应的函数,然后通过在后台同步用户数据进程来设置本地缓存。当一个线程在运行的时候,不管是上传还是下载,你可以查询进程状态并且给用户一个反馈(例如一个进度条)。一旦数据本地化,由于是在本地机器上运行数据库,开发者就能大幅度的提高查询性能。当下很多 web 程序仅仅把浏览器用作展示层,例如,电子表格软件就是做 =1+1 这样简单的计算也要进行一次到服务器再返回的请求。通过使用本地数据存储和客户端代码,开发者可以减少到处理和存储到客户端的负荷,同时还能提供给用户更加平滑、类似桌面程序的体验。

  • 出处:译言
    责任编辑:bluehearts

    上一页 下一页 下一代web:浏览器存储支持 [2]

    ◎进入论坛网站综合网页制作版块参加讨论

    相关文章 更多相关链接
    层次感
    浏览器 cookie 限制
    百度Web UI未来发展趋势分析
    网站中文字的视觉设计
    山顶角
    关键字搜索 常规搜索 推荐文档
    热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
    站点最新 站点最新列表
    周大福“敬•自然”设计大赛开启
    国际体验设计大会7月将在京举行
    中国国防科技信息中心标志征集
    云计算如何让安全问题可控
    云计算是多数企业唯一拥抱互联网的机会
    阿里行云
    云手机年终巨献,送礼标配299起
    阿里巴巴CTO王坚的"云和互联网观"
    1499元买真八核 云OS双蛋大促
    首届COCO桌面手机主题设计大赛
    栏目最新 栏目最新列表
    浅谈JavaScript编程语言的编码规范
    如何在illustrator中绘制台历
    Ps简单绘制一个可爱的铅笔图标
    数据同步算法研究
    用ps作简单的作品展示页面
    CSS定位机制之一:普通流
    25个最佳最闪亮的Eclipse开发项目
    Illustrator中制作针线缝制文字效果
    Photoshop制作印刷凹凸字体
    VS2010中创建自定义SQL Rule
    >> 分页 首页 前页 后页 尾页 页次:1/21个记录/页 转到 页 共2个记录

    蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

    转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

    特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

    您的评论
    用户名:  口令:
    说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
    注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
    不评分 1 2 3 4 5
    注意:请不要在评论中含与内容无关的广告链接,违者封ID
    请您注意:
    ·不良评论请用报告管理员,以利管理员及时删除。
    ·尊重网上道德,遵守中华人民共和国的各项有关法律法规
    ·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
    ·本站评论管理人员有权保留或删除其管辖评论中的任意内容
    ·您在本站发表的作品,本站有权在网站内转载或引用
    ·参与本评论即表明您已经阅读并接受上述条款
    推荐文档 | 打印文档 | 评论文档 | 报告错误  
    专业书推荐 更多内容
    网站可用性测试及优化指南
    《写给大家看的色彩书1》
    《跟我去香港》
    众妙之门—网站UI 设计之道
    《Flex 4.0 RIA开发宝典》
    《赢在设计》
    犀利开发—jQuery内核详解与实践
    作品集 更多内容

    杂⑦杂⑧ Gold NORMANA V2