写点什么

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

  • 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:59425
用户头像

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

关注

评论

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

【IJCAI 2022】参数高效的大模型稀疏训练方法,大幅减少稀疏训练所需资源

阿里云大数据AI技术

深度学习 模型稀疏训练

Linux常用命令

五分钟学大数据

Linux 7月月更

我为OpenHarmony 写代码,战“码”先锋第二期正式开启!

OpenHarmony开发者

OpenHarmony

2022 年中回顾|一文看懂预训练模型最新进展

澜舟孟子开源社区

人工智能 自然语言处理 算法 nlp 预训练模型

任何时间,任何地点,超级侦探,认真办案!

龙智—DevSecOps解决方案

Jira Atlassian Jira Jira插件

阿里云技术专家秦隆:可靠性保障必备——云上如何进行混沌工程

阿里云弹性计算

分布式系统 混沌工程 故障演练

只知道预制体是用来生成物体的?看我如何使用Unity生成UI预制体

恬静的小魔龙

游戏开发 Unity 游戏引擎

同事看了我的代码惊呼:居然是这么在Unity中用单例的

恬静的小魔龙

游戏开发 Unity 单例模式 游戏引擎

创新突破!亚信科技助力中国移动某省完成核心账务数据库自主可控改造

亚信AntDB数据库

国产数据库

Java编程程序员怎么开发水平?

小谷哥

基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现

华为云开发者联盟

人工智能 推理 昇腾 处理器

用Unity不会几个插件怎么能行?Unity各类插件及教程推荐

恬静的小魔龙

游戏开发 Unity 插件 游戏引擎

【龙智技术指南】Helix4Git简明使用手册

龙智—DevSecOps解决方案

Helix Core Helix4Git

擎创科技加入龙蜥社区,共建智能运维平台新生态

OpenAnolis小助手

开源 操作系统 龙蜥社区 CLA 擎创科技

Java & Go 专场 | 阿里云中间件开发者线下 Meetup 开启报名

阿里巴巴云原生

Java Go 阿里云 云原生 中间件

如何判断静态代码质量分析工具的性能?这五大因素必须考虑

龙智—DevSecOps解决方案

静态代码分析 代码静态分析 静态代码安全

游戏背包系统,“Inventory Pro插件”,研究学习-----妈妈再也不用担心我不会做背包了(Unity3D)

恬静的小魔龙

游戏开发 Unity 插件 游戏引擎

活动报名 | 玩转 Kubernetes 容器服务提高班正式开营!

阿里巴巴云原生

阿里云 容器 云原生 训练营 课程

QCon 大会广州站它来了!独家定制双肩背包等你领取!

InfoQ写作社区官方

Qcon

让运动自然发生,FITURE打造全新生活方式

科技热闻

玩游戏想记录一下自己超神的瞬间?那么就来看一下如何使用Unity截图吧

恬静的小魔龙

游戏开发 Unity 游戏引擎

常见WEB攻击与防御

南城FE

前端 WEB安全 7月月更

浅谈低代码技术在物流管理中的应用与创新

王平

中文起,Python 字体反爬实战案例,再一点

梦想橡皮擦

Python 爬虫 7月月更

异步Servlet在转转图片服务的实践

转转技术团队

Servlet 异步

【高并发】如何实现亿级流量下的分布式限流?这些理论你必须掌握!!

冰河

并发编程 多线程 高并发 协程 异步编程

大话DevOps监控,团队如何选择监控工具?

龙智—DevSecOps解决方案

DevOps 监控 监控软件

JAVA编程规范之SQL 语句

源字节1号

前端开发 后端开发

银行理财子公司蓄力布局A股;现金管理类理财产品整改加速

易观分析

金融 银行

Plus版SBOM:流水线物料清单PBOM

SEAL安全

开源 软件供应链 软件物料清单 SBOM 软件供应链安全

【策略模式】就像诸葛亮的锦囊

掘金安东尼

前端 设计模式 7月月更

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