写点什么

浏览器应用的下一阶段会需要什么?

  • 2007-11-30
  • 本文字数:1543 字

    阅读完需:约 5 分钟

在波士顿 Ajax 体验大会的主题展示上,Alex Russell 和 Joe Walker 提出了这样一个问题“什么可以将浏览器应用开发带到新的层次上?”。

现阶段 Ajax 工具套件的竞争以 IE 的胜出而告终,所有的浏览器供应商都进入了一个稳定期。浏览器特性的停滞不前,表明我们需要开发新的库以提供新的应用特性。现有的库已经为突破浏览器的功能提供了良好的解决方案,同时也为开发人员提供了一个浏览器兼容层。

为了跨越前期高点,Alex 和 Joe 就功能、可靠性、信任和动力几个方面需要解决的问题提出了一些想法

1. 特性

尽管需要新的特性以提供更好的用户体验,但是我们需要小心从事,很重要的一点就是任何新特性都不应该破坏已有特性,并且该新特性应该被所有的供应商所支持。

实际上,新特性并不是由浏览器提供的,而是由 Ajax 库来提供的,因而,我们不得不面对的一个重要的问题:“这些库到底能走多远?”

Ajax 库正通过 Comet、3D(VML/SVG/Canvas)、存储以及下载等功能来逐步摆脱限制。

只有通过使用大量 Hack 技术才能确保 Ajax 库对现有 web 技术提供支持。

另一个将长期困绕新浏览器特性使用的问题源自浏览器本身的淘汰过程,即使新的特性已经被加入到了新一代 web 浏览器中,但当前浏览器的更新换代周期可能需要 5 年甚至更长时间来完成,这就要求 Ajax 工具承担更多的责任,帮助在不同时期浏览器间进行透明转换。

2. 可靠性

可靠性将成为新版 web 浏览器的一个重要特性, “内容不完整”胜于“抛出异常”,这早就不是什么新问题了,而 web 浏览器仍然需要像以前那样去处理格式不正确的内容,同样,处理技术也不只一种,就像现在支持的不同版本 HTML,CSS 和 JavaScript 一样,需要有新的版本和新的技术处理他们。

我们需要向生物学习,以提供既能应付错误,又能不断发展的浏览器。

3. 信任

什么地方会出错呢?开发者现在需要考虑很多方面,包含:

  • Web 蠕虫
  • 隐私入侵
  • 数据传输
  • 身份窃取
  • 浏览器安全
  • 如何构建信任

新一代的浏览器应该能帮助开发者构建安全可信任的应用,为了达到这个目标,我们应该开发出可靠的模式,这些模式需要满足以下两点:

  • 按照用户期望的方式去响应
  • 遵循最小惊讶原则

有很多行为都会削弱用户的信任 — 我们需要面对他们。来自 Joe 和 Alex 的对特性的建议可以帮助开发者:

  • 基于块的内容限制
  • 对 cookies 的跨站点请求伪造(Cross-Site Request Forgeries,即 CSRF)的预防
  • 沙箱(Sandboxing )
  • 构建关系的稳定模型(SMASH/XIP/etc)

无论我们是否喜欢,用户信任任何新技术都是需要时间的。

4. 动力

幸运的是,web 如今获得了巨大的推动力,已经成为当今应用交付的首选形式。对于 web 来说,开发者已经开发部署了大量的应用。

作为开发者,我们可以参与并影响标准的内容,以达到延续其动力和持续改进我们正在使用的技术的目的。

我们需要使标准充满生机,用户和社区的参与和推动下,标准的处理的过程也越来越透明化。

浏览器的供应商也在不断提供动力,但是并不存在什么规范可供他们按图索骥,他们正承担着风险,所以我们应该鼓励他们,尤其,当插件提供着一种打破本地局限的方式时,所有的 web 开发者都需要面对的一个问题是:“下一个版本的开发是继续凭藉浏览器本身,还是别的什么站在浏览器肩膀上的技术呢?”

作为结论,Alex 和 Joe 提出了另一个问题,这一次是反问:

随着 Ajax 工具箱和插件的使用,我们是否已经找到了一种解决方案使得 web 浏览器不需要更新换代呢?

查看英文原文 What is Needed for the Next Level of Browser Applications? - - - - - -

译者简介:张龙,同济大学软件工程硕士,现就职于理光软件研究所。主要从事文档工作流和办公自动化解决方案的研发工作。热衷于 Java 轻量级框架的研究,对敏捷方法很感兴趣。曾有若干年的 J2EE 培训讲师经历。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-11-30 02:59508
用户头像

发布了 88 篇内容, 共 273.7 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

AI开发最后一公里的神器,YouWare

大林

AI coding 氛围编程 AI 编程

DNS解析记录中的权重是什么意思?怎么配置权重?

防火墙后吃泡面

基于昇腾适配数据驱动的全球天气预报模型Fuxi

Splendid2025

人工智能「

基于昇腾适配DeepMind团队发布的蛋白质结构预测模型OpenFold

Splendid2025

人工智能、

昇腾AI4S图机器学习:DGL消息传递接口的PyG替换

Splendid2025

你真的会使用 Go 语言中的 Channel 吗?

左诗右码

七大技术路线解析:自动驾驶如何被数据重新定义

数据堂

人工智能 自动驾驶 AI 科普 训练数据

工具分享-从ibd文件中恢复数据的神器ibd2sql

GreatSQL

寻疗微擎开源生态下的智慧医疗服务

微擎应用市场

高效压缩解压缩软件Keka for Mac中文版

Geek贝

AI 数据分析训练营第 1 期 -- 毕业总结

grandocean

NoETL 指标平台:语义驱动数据治理的升维战

Aloudata

数据分析 数据治理 数据开发 指标平台 智能问数

低成本、高回报:万界星空科技低代码MES系统,助力制造企业数字化“轻”升级

万界星空科技

低代码平台 mes 低代码云MES 制造业工厂 AI低代码MES

HarmonyOS运动开发:深度解析文件预览的正确姿势

王二蛋和他的张大花

程序员必备开发神器,建议火速收藏!!

飞算JavaAI开发助手

大数据-11-MapReduce JOIN 操作的Java实现 Driver Mapper Reducer具体实现逻辑 模拟SQL进行联表操作

武子康

Java 大数据 hadoop mapreduce hive

现场大屏幕微擎开源生态下的智能现场互动中枢

微擎应用市场

同城信息:微擎开源生态下的本地化生活服务

微擎应用市场

认识 SwiftChat:一款跨平台、高性能的 AI 助手应用程序

亚马逊云科技 (Amazon Web Services)

AI 聊天应用的需求汇总10条

量贩潮汐·WholesaleTide

AI

AI Agent 的工程化被低估了

阿里巴巴云原生

壹佰智慧餐厅微擎生态下的餐饮数字化全场景解决方案

微擎应用市场

Muu 云小店微擎生态下的轻量化电商

微擎应用市场

大语言模型(LLM)如何让自动化测试效率直线提升?

测试人

鸿蒙 UI 开发基础语法与组件复用全解析:从装饰器到工程化实践指南

谢道韫

基于昇腾适配Meta AI在Science正刊发表的蛋白质结构预测模型ESMFold

Splendid2025

人工智能、

Geneformer:基于Transformer的基因表达预测深度学习模型

Splendid2025

人工智能、

《算法导论(第4版)》阅读笔记:p175-p181

codists

算法

用户通知服务,轻松实现应用与用户的多场景交互

HarmonyOS SDK

harmoyos

浏览器应用的下一阶段会需要什么?_Java_Ian Roughley_InfoQ精选文章